2013-04-04 216 views
1

我想写入熊猫数据框。我有4个列表,我可以根据需要将它们转换为一系列列表,以便在此DataFrame中使用。熊猫:写入数据框

l1 
l2 
l3 
l4 

使用此:

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

我可以创建4个独立的DataFrames。但是,我希望1个DataFrame包含这4个列表作为列,而不会丢失列表的顺序。

回答

4

这应该做的伎俩,只是给一个列表的列表,以数据框costructor

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

您需要trasnalte数据框,因为它会把你的数据在错误的方向(按行而不是按列)。如果你需要一个有意义的名字,你可以使用的字典设定列名之后

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 
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 
+0

技术上应指定列为好,因为他们只是因为在顺序按键排序! – Jeff 2013-04-04 14:36:46

+0

感谢您的指针。我错过了OP希望维持订单。很高兴知道! – Zelazny7 2013-04-04 14:40:07