我有多个pandas数据帧,并希望将它们写为一个CSV文件。什么是最直接的方式?
例如,从以下四个数据帧开始,
如何在CSV下创建?
注意数据框都具有相同的尺寸。
答案 0 :(得分:7)
一种非常直接的方法是水平concat
对,垂直结果,并使用to_csv
全部写出来:
import pandas as pd
pd.concat([
pd.concat([df1, df2], axis=1),
pd.concat([df3, df4], axis=1)]).to_csv('foo.csv')
一种可能更节省内存的方式就是零碎地写出来:
with open('foo.csv', 'w') as f:
pd.concat([df1, df2], axis=1).to_csv(f)
with open('foo.csv', 'a') as f:
pd.concat([df3, df4], axis=1).to_csv(f, header=False)
省略headers=False
会重复标题。
答案 1 :(得分:0)
对于需要将多个数据框垂直附加到同一csv的任何人,您都可以使用以下方法:
for df in list_of_dfs:
with open('all_dfs.csv','a') as f:
df.to_csv(f)
f.write("\n")