我希望熊猫数据框中的所有值都为True / False,具体取决于该值是否在给定的x和y之间.
使用’AND’运算符将2个数据帧进行任何组合,或者使用pandas的任何’between’功能都将是不错的选择.我宁愿不要循环遍历这些列并调用pandas.Series.between(x,y)函数.
例
给定以下数据框
>>> df = pd.DataFrame([{1:1,2:2,3:6},{1:9,2:9,3:10}])
>>> df
1 2 3
0 1 2 6
1 9 9 10
我想要x和y之间的所有值.我可以举个例子:
>>> df > 2
1 2 3
0 False False True
1 True True True
然后做
>>> df < 10
1 2 3
0 True True True
1 True True False
但是之后
>>> df > 2 and df < 10
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\Laurens Koppenol\Anaconda2\lib\site-packages\pandas\core\generic.py", line 731, 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().