2024-04-27 13:23:53 发布
网友
我有三个不同的Pandas数据帧
Pandas
df_1 df_2 df_3
我想循环数据帧,进行一些计算,并使用数据帧的name存储输出。换句话说,像这样的东西
name
需要输出文件:
'mypath/df_1.csv'、'mypath/df_2.csv'和{}
'mypath/df_1.csv'
'mypath/df_2.csv'
我很难这么做,因为df_1是一个对象,而不是字符串。 有什么办法吗?在
df_1
谢谢!在
另一个更一般的解决方案是使用列名创建dict,然后按items()循环:
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')
另一个可能的解决方案是使用另一个带有数据帧名称的list,然后enumerate并按位置获取{}的值:
list
enumerate
要使用toucv方法将df存储为csv,我们需要一个字符串路径。在
所以我们在清单上列举。这给了我们for循环中的2个变量。 第一个变量是循环迭代的索引。就像个柜台。在
所以基本上enumerate在循环中给了我们一个counter对象。在
我们使用counter值来创建一个索引字符串。 我们用它来创建一个唯一的文件名来存储。在
for idx, my_df in enumerate([df_1, df_2, df_3]): my_df.reset_index(inplace=True) my_df.to_csv('mypath/df_' + str(idx + 1) +'.csv')
另一个更一般的解决方案是使用列名创建
dict
,然后按items()
循环:另一个可能的解决方案是使用另一个带有数据帧名称的}的值:
^{pr2}$list
,然后enumerate
并按位置获取{要使用toucv方法将df存储为csv,我们需要一个字符串路径。在
所以我们在清单上列举。这给了我们for循环中的2个变量。 第一个变量是循环迭代的索引。就像个柜台。在
所以基本上
enumerate
在循环中给了我们一个counter对象。在我们使用counter值来创建一个索引字符串。 我们用它来创建一个唯一的文件名来存储。在
相关问题 更多 >
编程相关推荐