1

我正在尝试写入 Pandas DataFrame。我有 4 个列表,如有必要,我可以在此 DataFrame 中将其转换为系列。

l1
l2
l3
l4

使用这个:

df1 = DataFrame(l1)
df2 = DataFrame(l2)
df3 = DataFrame(l3)
df4 = DataFrame(l4)

我能够创建 4 个单独的 DataFrame。但是,我想要 1 个以这 4 个列表作为列的 DataFrame,而不会丢失列表的顺序。

4

3 回答 3

4

这应该可以解决问题,只需将列表列表提供给数据框构造函数

DataFrame([l1, l2, l3, l4]).T

您需要传输数据框,因为它会将您的数据置于错误的方向(按行而不是按列)。如果您需要有意义的名称,您可以在之后设置列名称

于 2013-04-04T14:07:28.163 回答
2
In [3]: l1 = range(5)

In [4]: l2 = range(5,10)

In [5]: l3 = range(10,15)

In [6]: l4 = range(15,20)

In [10]: pd.DataFrame([l1,l2,l3,l4],index=['l1','l2','l3','l4']).T
Out[10]: 
   l1  l2  l3  l4
0   0   5  10  15
1   1   6  11  16
2   2   7  12  17
3   3   8  13  18
4   4   9  14  19
于 2013-04-04T14:08:45.507 回答
1

我使用字典的首选方法:

In [1]: pd.DataFrame({'l1':l1, 'l2':l2, 'l3':l3, 'l4':l4})
Out[1]:
   l1  l2  l3  l4
0   0   5  10  15
1   1   6  11  16
2   2   7  12  17
3   3   8  13  18
4   4   9  14  19
于 2013-04-04T14:31:46.247 回答