【发布时间】:2014-11-12 02:53:49
【问题描述】:
编辑:表格中的固定值。
假设我有一个 pandas 数据框 df:
>>>df
a b c
0 0.016367 0.289944 -0.891527
1 1.130206 0.899758 -0.276587
2 1.390528 -1.472802 0.128979
3 0.023598 -0.931329 0.158143
4 1.401183 -0.162357 -0.959156
5 -0.127765 1.142039 -0.734434
所以现在我尝试做一些布尔索引:
>>>df[df > 0.5]
a b c
0 NaN NaN Nan
1 1.130206 0.899758 NaN
2 1.390528 NaN NaN
3 NaN NaN NaN
4 1.401183 NaN NaN
5 NaN 1.142039 NaN
>>>df[df < 0]
a b c
0 NaN NaN -0.891527
1 NaN NaN -0.276587
2 NaN -1.472802 NaN
3 NaN -0.931329 NaN
4 NaN -0.162357 -0.959156
5 -0.127765 NaN -0.734434
所以现在我尝试对条件进行逻辑或作为索引条件:
>>>df[df > 0.5 or df < 0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\Ben\Anaconda\lib\site-packages\pandas\core\generic.py", line 692, in __nonzero__
.format(self.__class__.__name__))
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
我对此进行了一些研究,这是一个基本功能,numpy 的开发人员决定某些条件在任何或所有情况下都可能是模棱两可的。我不明白为什么检查值是否 > 0.5 有效并检查其 0.5 或
【问题讨论】: