【发布时间】:2022-12-18 10:52:12
【问题描述】:
我正在尝试在循环内旋转数据帧。
我听说如果我将它们放在列表中,我可以对多个数据帧进行更改,例如:
df_list = [df1,df2,df3,df4,...]
我一直在使用这种方法对所有数据帧进行更改,例如:
for df in df_list:
df.drop('column_name',axis=1,inplace=True) #drops column from every dataframe in df_list
但是我正在尝试做一些不会对数据帧产生任何变化的事情。
每个数据框看起来像:
Time Value hist
11:14:23 2.0 12
11:14:23 1.5 78
11:14:23 1.0 31
我希望它看起来像:
Time 1.0 1.5 2.0
11:14:23 31 78 12
我试过这个:
for df in df_list:
df = df.pivot(index='Time',columns='Value', values='hist')
但在此循环之后,所有数据帧都保持不变。
更奇怪的是,如果我单独为数据框执行此操作,它会完美运行,只是在循环中不起作用。循环是必要的,因为有超过 20000 个数据帧要进行此更改。
所有的帮助都是非常宝贵的,谢谢! :)
【问题讨论】:
-
df_list = [df.pivot(index='Time',columns='Value', values='hist') for df in df_list]
标签: python pandas dataframe for-loop pivot