我从之前在较小数据集上多次使用过的代码中遇到了一种从未见过的奇怪行为。我正在使用 Pandas 数据帧 read_table 解析 VCF 文件。VCF 文件有一个标题,然后是 9 列 + 多列个人。在我以前for row in genomes_df.itertuples():
遍历数据帧的每一行之前,我可以用row.SVLEN
. 当我检查type(row)
它是一个熊猫对象时。今天我在相同 VCF 格式的更大文件(350 列 vs 之前 10 列)上运行我的脚本,它给了我AttributeError: 'tuple' object has no attribute 'SVLEN'
,因为现在type(row)
是一个元组!
这里发生了什么?列名不同(NWD107911.mark_dupes
vs NWD107911
),但我检查了名称中没有空格(在另一篇文章中阅读它可能导致不同的行为)。