Python中当列名是时间戳时如何调用?

问题描述 投票:0回答:1

我在尝试调用标题为时间戳的列时遇到关键错误,如何克服这个问题?

我的数据集是

  date      10:05:00  
2022-12-01  90.00286   
2022-12-02  88.97760   
2022-12-05  89.29583  
2022-12-06  90.30789  
2022-12-07  91.44738  


df['10:05:00'] = df['10:05:00'].sum()

但出现关键错误 关键错误:'10:05:00'

python pandas timestamp
1个回答
0
投票

您可以尝试使用

datetime.time
对象作为数据框中的键,或者您可以将列名称转换为字符串。

# recreating the dataframe here

import pandas as pd
import datetime as dt

df = pd.DataFrame({
 'date': [
  '2022-12-01',
  '2022-12-02',
  '2022-12-05',
  '2022-12-06',
  '2022-12-07'],
 dt.time(10, 5, 0): [
  90.00286,
  88.9776,
  89.29583,
  90.30789,
  91.44738]
})

df
# returns:
         date  10:05:00
0  2022-12-01  90.00286
1  2022-12-02  88.97760
2  2022-12-05  89.29583
3  2022-12-06  90.30789
4  2022-12-07  91.44738

要访问第一列,您可以使用:

df[dt.time(10,5,0)].sum()
# returns:
450.03156

或者您可以将列名称转换为字符串:

df.columns = [str(c) for c in df.columns]
df['10:05:00'].sum()
# returns:
450.03156
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.