Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从列表创建数据帧_Python_Pandas - Fatal编程技术网

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数组,因此您不必担心它