Python 从列表创建数据帧
我得到以下错误Python 从列表创建数据帧,python,pandas,Python,Pandas,我得到以下错误传递值的形状是(1,5),索引暗示(5,5)。据我所知,这表明数据集与列计数不匹配,当然这显然是正确的。起初我认为这可能是由于使用了一个列表,但如果传入一个numpy数组,我会遇到同样的问题 谁能指出我的愚蠢,因为我显然做错了什么 data = ['data1', 'data2', 'data3', 'data4', 'data5'] report_name = 'test.csv' try: df = pd.DataFrame(data, columns=['column
传递值的形状是(1,5),索引暗示(5,5)
。据我所知,这表明数据集与列计数不匹配,当然这显然是正确的。起初我认为这可能是由于使用了一个列表,但如果传入一个numpy数组,我会遇到同样的问题
谁能指出我的愚蠢,因为我显然做错了什么
data = ['data1', 'data2', 'data3', 'data4', 'data5']
report_name = 'test.csv'
try:
df = pd.DataFrame(data, columns=['column1', 'column2', 'column3', 'column4', 'column5'], index=None)
df.sort_values('column1', ascending=True, inplace=True)
df.to_csv(report_name, index=False)
except Exception, e:
print e
如果通过传递
列来强制形状,则必须将二维数组传递给数据的pd.DataFrame
data = [['data1', 'data2', 'data3', 'data4', 'data5']]
df = pd.DataFrame(data, columns=['column1', 'column2', 'column3', 'column4', 'column5'])
您错过了数据
df = pd.DataFrame(data = [data], columns=['column1', 'column2', 'column3', 'column4', 'column5'], index=None)
注意事项:
pd.DataFrame()
需要一个元组列表,这意味着:
data = ['data1', 'data2', 'data3', 'data4', 'data5']
df = pd.DataFrame(data)
# This implies every element in the list `data` is a tuple
print(df)
Out[]: 0
0 data1
1 data2
2 data3
3 data4
4 data5
与之相反:
data = ['data1', 'data2', 'data3', 'data4', 'data5']
df = pd.DataFrame([data])
# This implies that the list `data` is the first tuple
print(df)
Out[]: 0 1 2 3 4
0 data1 data2 data3 data4 data5
嗯,我用一个numpy数组尝试了我认为是这样的。我猜我也误解了numpy数组:(.如果你知道怎么做,那就简单了:)。谢谢你指点out@iNoob,这只是一个细节,因为您试图用一行创建一个数据帧,这不是很有用。实际上,您总是传递一个列表列表或2d np数组,因此您不必担心它