Python:生成数据帧

Python:生成数据帧,python,pandas,Python,Pandas,当我使用列表创建数据帧时,出现错误。 我的代码是: a=[1,2,3,4,5] b=['a','b','c','d','e'] df=pd.DataFrame(a,columns=[b]) 我想要这个数据帧输出: a b c d e 1 2 3 4 5 错误代码是断言(len(项目)==len(值)) 我应该怎么做,我希望解决这个问题。您实际上是将列的参数作为-[[['a'、'b'、'c'、'd'、'e']]发送的。。它需要是一个列表,而不是一个列表列表 另外,当您将a作为数据发送

当我使用列表创建数据帧时,出现错误。
我的代码是:

a=[1,2,3,4,5]  
b=['a','b','c','d','e']

df=pd.DataFrame(a,columns=[b])
我想要这个数据帧输出:

a b c d e  
1 2 3 4 5
错误代码是断言(len(项目)==len(值))


我应该怎么做,我希望解决这个问题。

您实际上是将列的参数作为-
[[['a'、'b'、'c'、'd'、'e']]发送的。
。它需要是一个列表,而不是一个列表列表

另外,当您将
a
作为数据发送时,实际上为一列创建了5行。相反,您希望发送将创建1行和5列的
[a]

试一试-


实际上,您正在将列的参数作为-
[[a'、'b'、'c'、'd'、'e']]
发送。它需要是一个列表,而不是一个列表列表

另外,当您将
a
作为数据发送时,实际上为一列创建了5行。相反,您希望发送将创建1行和5列的
[a]

试一试-


对要传递的数据的形状和形式有严格的要求,您可以只传递数据并将其转置,以获得作为单行的初始数据,然后覆盖列名:

In [166]:
a=[1,2,3,4,5]  
b=['a','b','c','d','e']
df=pd.DataFrame(data=a).T
df.columns=b
df

Out[166]:
   a  b  c  d  e
0  1  2  3  4  5
另一种方法是构造dict并对数据元素执行列表理解,并将这些元素作为列表:

In [170]:
df=pd.DataFrame(dict(zip(b,[[x] for x in a])))
df

Out[170]:
   a  b  c  d  e
0  1  2  3  4  5
内联dict输出:

In [169]:
dict(zip(b,[[x] for x in a]))

Out[169]:
{'a': [1], 'b': [2], 'c': [3], 'd': [4], 'e': [5]}

对要传递的数据的形状和形式有严格的要求,您可以只传递数据并将其转置,以获得作为单行的初始数据,然后覆盖列名:

In [166]:
a=[1,2,3,4,5]  
b=['a','b','c','d','e']
df=pd.DataFrame(data=a).T
df.columns=b
df

Out[166]:
   a  b  c  d  e
0  1  2  3  4  5
另一种方法是构造dict并对数据元素执行列表理解,并将这些元素作为列表:

In [170]:
df=pd.DataFrame(dict(zip(b,[[x] for x in a])))
df

Out[170]:
   a  b  c  d  e
0  1  2  3  4  5
内联dict输出:

In [169]:
dict(zip(b,[[x] for x in a]))

Out[169]:
{'a': [1], 'b': [2], 'c': [3], 'd': [4], 'e': [5]}