我在Python中有一个名为correl
的包含13行和13列(除第一列之外的标题)的2D矩阵。此correl
矩阵是从DataFrame
生成的,我希望使用多个correlation
填充矩阵correl
。例如:
correlation=[]
correl=df.corr()
correlation=correlation.append(correl) #correlation is not a DataFrame
我使用correlation=[]
的原因是因为我希望用多个相关表填充correlation
。这就是我使用append
的原因,因为这是一个循环。
现在我希望在csv文件中导出此相关矩阵。我这样做:
with open("C:\destinationfolder\file.csv", "wb") as f:
writer = csv.writer(f)
writer.writerows(correlation)
我收到此错误:
raise KeyError('no item named %s' % com.pprint_thing(item))
KeyError: u'no item named 0'
为什么呢? 我的猜测是我没有第一列的标题...是否有更简单的方法将我的关联表导出到csv?
答案 0 :(得分:6)
看起来像correlation
is a DataFrame too,所以您只需使用to_csv
:
correlation.to_csv("C:\destinationfolder\file.csv")
如果你有一个想要制作成csv的DataFrame列表,你有两个选择:
将列表连接成一个更大的框架,然后使用to_csv
:
pd.concat(list_of_dataframes).to_csv(...)
迭代每个DataFrame并使用to_csv
和append(mode='a'
)。类似的东西:
list_of_dataframes[0].to_csv(...) # write first, using headers.. assumes list isn't empty!
for df in list_of_dataframes[1:]:
df.to_csv(..., header=False, mode='a')