【发布时间】:2018-10-04 01:32:46
【问题描述】:
假设我有以下数据框。
np.random.seed(0) # Add seed to reproduce results.
df = pd.DataFrame(np.random.randn(6,4), columns=list('ABCD'))
df['id'] = ['CA', 'CA', 'CA', 'FL', 'FL', 'FL']
df['technique'] = ['one', 'two', 'three', 'one', 'two', 'three']
df
A B C D id technique
0 1.764052 0.400157 0.978738 2.240893 CA one
1 1.867558 -0.977278 0.950088 -0.151357 CA two
2 -0.103219 0.410599 0.144044 1.454274 CA three
3 0.761038 0.121675 0.443863 0.333674 FL one
4 1.494079 -0.205158 0.313068 -0.854096 FL two
5 -2.552990 0.653619 0.864436 -0.742165 FL three
当任何列的值大于 2 时,我只想选择那些行。所以在上述情况下,我会得到。
A B C D id technique
0 1.764052 0.400157 0.978738 2.240893 CA one
5 -2.552990 0.653619 0.864436 -0.742165 FL three
如何在不执行以下操作的情况下过滤多个列。
df[df.A >= 2 | df.B >= 2 | df.C >= 2 | df.D >= 2]
【问题讨论】:
-
您的示例表明您想要绝对值大于 2 的行。