我正在尝试使用以下方法对数据帧中的列执行乘法运算:
totaldf[['Summer','LD/Offload']].multiply(totaldf['2018-04-01 00:00:00'], axis = 0)
但是,我仅在日期列上收到KeyError。当我打印列列表时:
Index([ 'Summer', 'Pre-Winter', 'Winter',
'LD/Offload', 2018-04-01 00:00:00, 2018-05-01 00:00:00...],
dtype='object', name=0)
由于日期列未出现在引号中,因此我假设无法像在操作中那样识别它们。
我认为它们需要重命名,但是我不知道如何访问它们。
编辑:在研究过程中发现的答案中,pandas.rename是建议的解决方案。由于我不知道如何识别列,因此无法使用此方法。
答案 0 :(得分:0)
数据框的列似乎使用某种类型的datetime对象。如果您显示不起作用的索引类型,可能会更有帮助。
如果我敢打赌,我敢打赌,使用pd.to_datetime('2018-04-01 00:00:00')
访问该索引将解决您的问题。
答案 1 :(得分:0)
如我的问题所述,我找到的答案建议使用pandas.rename
方法,如果不能访问这些列,则无法实现。
解决方案是在列表中的引号周围加上引号:
totaldf.columns = [..., '2018-04-01 00:00:00', ...]