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]}