python按列读取数据时出现错误_python – 在pandas数据帧中分配新列标签时出现长度不匹配错误...

在处理带有缺失列名的CSV文件时,使用Pandas遇到长度不匹配错误。通过添加空字符串到列名列表来修复,但在实际应用中`read_csv`时由于`index_col=0`导致问题。解决方案是正确设置`index_col`参数以匹配数据列数。
摘要由CSDN通过智能技术生成

我正在使用的选项卡文件缺少最终的列名.当我尝试通过附加缺失值来修复标头时,出现不匹配错误.这是一个说明问题的例子:

玩具的例子

应该有一个”作为第一个列表的最后一个元素:

missingcol = [[gene, cell_1, '', cell_2]

[MYC, 5.0, P, 4.0, A]

[AKT, 3.0, A, 1.0, P]]

为了解决这个问题,我阅读了第一行,在一个带有header = None的跳过第一行的pandas数据框中附加了”,载入了missingcol,并使用修改后的标题重新定义了列名,如下所示:

fullheader = missingcol[0].append('')

fullheader = missingcol[0]

missingcol_dropheader = missingcol[1:]

df = pd.DataFrame(missingcol_dropheader, columns=fullheader)

df

这给了我错误:

AssertionError: 4 columns passed, passed data had 5 columns

最后我检查过,新的fullheader实际上有5个元素来匹配数据框中的五个元素.导致这种持续不匹配的原因是什么?如何解决?

真实的例子

当我重复这些相同的步骤时,我得到一个类似的错误,但是在我的实际测试用例中使用read_csv方法时.我忽略了第0行的标题,以及第1-3行的三个空白行,并删除了不需要的第一列,但是否则它类似:

with open('CCLE_Expression_Entrez_2012-10-18.res&

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值