首页 > 解决方案 > 如何从 pandas DataFrames 列表创建一个 csv 文件?

问题描述

我想从熊猫数据框列表中创建一个 csv 文件。除了每次交换的 1 列之外,我的数据还保留所有相同的列名。以下是我的列表基于列表索引的样子:

index 0:

height weight age isFunny
  4      2    21     0

index 1:

height weight age isCool
  10     30   81    34

index 2:

height weight age isDumb
  4      2    34     10

index 3:

height weight age isTalker
  4      12   25     3

我认为保存这些数据的最佳方法是在熊猫数据框列表中,但如果有更好的选择,请提出任何建议。

标签: pythonpandascsvdataframe

解决方案


您可以使用 reduce 创建单个数据框并将其保存到 csv。

df_1 = pd.DataFrame([[4,2,21,0]],columns='height weight age isFunny'.split())
df_2 = pd.DataFrame([[10,30,81,35]],columns='height weight age isCool'.split())
df_3 = pd.DataFrame([[4,2,34,10]],columns='height weight age isDumb'.split())
df_4 = pd.DataFrame([[4,12,25,3]],columns='height weight age isTalker'.split())
l = [df_1, df_2, df_3, df_4]

from functools import reduce
>>> reduce(lambda x, y: x.append(y), l)

   age  height  isCool  isDumb  isFunny  isTalker  weight
0   21       4     NaN     NaN      0.0       NaN       2
1   81      10    35.0     NaN      NaN       NaN      30
2   34       4     NaN    10.0      NaN       NaN       2
3   25       4     NaN     NaN      NaN       3.0      12

推荐阅读