如何解决循环 Pandas DataFrame 会产生 ValueError
我正在尝试遍历包含 71163 行的 Pandas DataFrame 并创建一个值低于 10000 的列表,以便我可以计算它们。到目前为止,我的代码是:
filter_heteroSNPs = []
for element in heteroSNPsSC05:
if element < 10000:
filter_heteroSNPs.append(True)
else:
filter_heteroSNPs.append(False)
newarr = heteroSNPs[filter_heteroSNPs]
print(filter_heteroSNPs)
print(newarr)
但这会返回以下异常:
ValueError: Item wrong length 71163 instead of 891938
有人可以帮我吗?
解决方法
因为你的迭代不正确。在你的DF的哪一列,你需要做比较?
例如,假设您需要比较 'my_column'
列中的值,因此:
filter_heteroSNPs = [True if value < 10000 else False for value in heteroSNPsSC05['my_column']
这会给你你想要的过滤器(甚至快 10 倍)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。