我有三种不同的Pandas数据帧
df_1
df_2
df_3
Run Code Online (Sandbox Code Playgroud)
我想循环数据帧,进行一些计算,并使用name数据帧存储输出.换句话说,就像这样
for my_df in [df_1, df_2, df_3]:
my_df.reset_index(inplace=True)
my_df.to_csv('mypath/' + my_df +'.csv')
Run Code Online (Sandbox Code Playgroud)
预期的输出文件:
'mypath/df_1.csv', 'mypath/df_2.csv'和 'mypath/df_3.csv'
我正在努力这样做,因为它df_1是一个对象,而不是一个字符串.任何想法如何做到这一点?
谢谢!
另一个更通用的解决方案是dict使用列名创建然后循环items():
d = {'df_1':df_1,'df_2':df_3, 'df_3':df_3}
for k, my_df in d.items():
my_df.reset_index(inplace=True)
my_df.to_csv('mypath/' + k +'.csv')
Run Code Online (Sandbox Code Playgroud)
另一个可能的解决方案是使用另一个list数据帧名称,然后enumerate获取name按位置的值:
names = ['a','b','c']
print ({names[i]: df for i, df in enumerate([df_1, df_2, df_3])})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
332 次 |
| 最近记录: |