Python:以csv格式导出矩阵

Python:以csv格式导出矩阵,python,pandas,Python,Pandas,在Python中,我有一个名为correl的2D矩阵,它有13行13列(除了第一列之外还有标题)。这个correl矩阵是从一个DataFrame生成的,我想用多个correl填充一个矩阵correlation。例如: correlation=[] correl=df.corr() correlation=correlation.append(correl) #correlation is not a DataFrame 我之所以使用correlation=[]是因为我希望用多个相关表填充cor

在Python中,我有一个名为
correl
的2D矩阵,它有13行13列(除了第一列之外还有标题)。这个
correl
矩阵是从一个
DataFrame
生成的,我想用多个
correl
填充一个矩阵
correlation
。例如:

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('没有名为%s的项目'%com.pprint\u thing(项目))
KeyError:u'没有名为0的项目'

为什么?? 我猜我没有第一列的标题。。。是否有更简单的方法将我的关联表导出到csv

它看起来像,因此您可以简单地使用:

如果您有数据帧列表,请更新以回答: 如果您有一个要制作成csv的数据帧列表,则有两个选项:

  • 将列表合并到一个较大的框架中,并使用
    来\u csv

    pd.concat(list_of_dataframes).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')
    


  • correlation
    是数据帧吗?你有没有试过关联到csv(“C:\destinationfolder\file.csv”)
    ?我没有正确解释我的问题。看我问题中的变化。我知道相关性是一个数据帧,但如果我将每个数据帧附加到一个循环中,则不会如此。@CharlesM在这种情况下,您可以:concat制作一个大数据帧并使用to_csv,或者在使用to_csv时使用mode='a'(append)。
    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')