如何使用Pandas将列表转换为行数据帧

时间:2017-02-13 11:22:09

标签: python list pandas dataframe row

我有一个像这样的项目列表:

A = ['1', 'd', 'p', 'bab', '']

我的目标是将此类列表转换为1行和5列的数据框。如果我输入pd.DataFrame(A),我会得到5行1列。我该怎么办才能得到我想要的结果?

2 个答案:

答案 0 :(得分:27)

您可以使用:

df = pd.DataFrame([A])
print (df)
   0  1  2    3 4
0  1  d  p  bab  

如果所有值都是字符串:

df = pd.DataFrame(np.array(A).reshape(-1,len(A)))
print (df)

   0  1  2    3 4
0  1  d  p  bab  

谢谢AKS

df = pd.DataFrame(A).T
print (df)
   0  1  2    3 4
0  1  d  p  bab  

答案 1 :(得分:9)

这在某种程度上与您的特定问题相关,但我想我会发布它,以防其他人离开。

要转换列表列表(并为每列提供名称),只需在实例化新数据帧时将列表传递给data属性(以及所需的列名),如下所示:

my_python_list = [['foo1', 'bar1'],
                  ['foo2', 'bar2']]
new_df = pd.DataFrame(columns=['my_column_name_1', 'my_column_name_2'], data=my_python_list)

结果:

  my_column_name_1 my_column_name_2
0             foo1             bar1
1             foo2             bar2