Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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 从“U记录”读取的数据帧;AssertionError:1列已传递,传递的数据有22列;_Python_List_Pandas_Dataframe - Fatal编程技术网

Python 从“U记录”读取的数据帧;AssertionError:1列已传递,传递的数据有22列;

Python 从“U记录”读取的数据帧;AssertionError:1列已传递,传递的数据有22列;,python,list,pandas,dataframe,Python,List,Pandas,Dataframe,我有一个列表,其中a的长度为806。我想导入一个数据框,其中列表中的第一项是列名。我的代码是: import pandas as pd b = pd.DataFrame.from_records(a[1:],columns=[a[0]]) 这给了我一个AssertionError错误:传递了1列,传递的数据有22列,而显然我只有一列 我尝试过代码的一种表示,它很有效。所以我不确定这里发生了什么。以下是代码的表示: import pandas as pd arr= ['title', 'a','

我有一个列表,其中
a
的长度为
806
。我想导入一个数据框,其中列表中的第一项是列名。我的代码是:

import pandas as pd
b = pd.DataFrame.from_records(a[1:],columns=[a[0]])
这给了我一个
AssertionError错误:传递了1列,传递的数据有22列
,而显然我只有一列

我尝试过代码的一种表示,它很有效。所以我不确定这里发生了什么。以下是代码的表示:

import pandas as pd
arr= ['title', 'a','b','','','']
arr= filter(None, arr)
b = pd.DataFrame.from_records(arr[1:],columns=[arr[0]] )
我的名单一定有问题吧?我打印了一份,看起来很好,就像一份普通的清单。我粘贴了
a
的打印输出,并将其作为变量
列表
,它给出了相同的错误
断言错误:传递了1列,传递的数据有22列
。我的名单好像有问题。我还可以做什么来调试

编辑(基于DSM建议):


这给出了断言错误:传递了1列,传递的数据有8列

而不是使用来自_记录的您想要使用默认的数据帧构造函数

from_records
需要一个可编辑的列表,因此,例如,字符串
'0006660.ks'
被读入为
('0'、'0'、…、's')
,这就是为什么数据中出现8列错误的原因

b = pd.DataFrame(a[1:], columns=[a[0]])

与其告诉我们问题,不如展示给我们:编辑你的问题,给出一个我们可以复制和粘贴的示例。首先,找到最小的失败案例。对于
a[1:400]
,它是否仍然失败?对于
a[1:100]
<代码>a[1:5]?请注意,如果列表中有数据,您无法向我们显示,那么请将字符串替换为“A”,并将浮点值替换为1.0,等等,直到您给出一个可以发布的示例。这是一个很好的建议。我已经尝试了您的建议,并将重新发布代码。首先,不要使用
list
作为变量名,假设您的数组名为
arr
,请尝试
pd.DataFrame([arr[1:],columns=[arr[0]])
@mtadd。谢谢你的建议。所做的编辑。
b = pd.DataFrame(a[1:], columns=[a[0]])