我有一些csv文件,比如:
Time Test Two Three Five Six Seven Eight Nine Ten Eleven Twelve Thirteen Fifteen Sixteen
0 0 0 0 0 0 0 0 0 -0.3 0 0 100 0 0
0.02 0 0 0 0 0 0 0 0 -0.1 0.05 0 99 28 0
0.04 0 0 0 0 0 0 0 0 -0.15 0.05 0.9 99.6 28.7 0
...
我的代码看起来像:
^{pr2}$这只显示错误(即使是i.Test始终为0)
print(list_of_dfs[0].Test)
显示
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
10 0
..
655 0
656 0
657 0
658 0
659 0
660 0
661 0
662 0
663 0
664 0
665 0
Name: Test, Length: 666, dtype: int64
不应该的
any(x is 0 for x in i.Test)
总是正确的,因为我在每个I。测试最少一个“0”(因为它们只包含0)
我的错误是什么?在
如果我理解正确的话,问题语句是根据每个数据帧的
Test
系列中是否存在0,为列表中的每个数据帧返回一个值。在仅仅打印}可能还不够,因为您必须将它们链接回数据帧列表。相反,我建议使用字典来存储数据帧:
'true'
或{然后,您可以根据您的条件使用字典理解将每个文件名映射为布尔值:
^{pr2}$然后,您可以通过迭代
res.items()
或通过res['myfile.csv']
指定一个特定的文件名来确定哪个数据帧满足您的条件。在注意,我们使用的是向量化操作,而不是一次迭代一个序列中的每个元素。这是Pandas的一个特性,它与您一直尝试的标准Python列表理解或生成器表达式方法相分离。矢量化操作提供了对连续内存块的有效访问,应尽可能优先使用。在
相关问题 更多 >
编程相关推荐