[英]Pandas dataframe creation from a list
Im getting the following error Shape of passed values is (1, 5), indices imply (5, 5)
.我收到以下错误
Shape of passed values is (1, 5), indices imply (5, 5)
。 From what I can tell this suggests that the data set doesnt match the column count, and of course it obviously is correct.据我所知,这表明数据集与列数不匹配,当然这显然是正确的。 Initially I thought it could be due to using a list, but I get the same issue if passing in a numpy array.
最初我认为这可能是由于使用了列表,但如果传入一个 numpy 数组,我会遇到同样的问题。
Can anyone point out my stupidity, as im clearly doing something incorrectly.谁能指出我的愚蠢,因为我显然做错了什么。
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
you have to pass a 2d dimensional array to pd.DataFrame
for the data if you force the shape by passing columns
如果通过传递
columns
强制形状,则必须将二维数组传递给pd.DataFrame
以获取数据
data = [['data1', 'data2', 'data3', 'data4', 'data5']]
df = pd.DataFrame(data, columns=['column1', 'column2', 'column3', 'column4', 'column5'])
You've missed the list brackets around data
您错过了
data
周围的列表括号
df = pd.DataFrame(data = [data], columns=['column1', 'column2', 'column3', 'column4', 'column5'], index=None)
Things to note: pd.DataFrame()
expects a list of tuples , this means:注意事项:
pd.DataFrame()
需要一个tuples列表,这意味着:
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
As opposed to :与:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.