繁体   English   中英

pandas loc 具有多个或条件

[英]pandas loc with multiple or conditions

假设我有以下 dataframe:

x = pd.DataFrame(
    {
        'A': np.random.normal(0, 1, 100),
        'B': np.random.normal(0, 1, 100), 
        'C': np.random.normal(0, 1, 100), 
        'D': np.random.normal(0, 1, 100), 
        'E': np.random.normal(0, 1, 100) 
    }
)

我只想使用loc和 select 那些某些值小于 0.5 的行。 我知道我可以这样做:

df.loc[df.A < 0.5, :]

对于多个列,我可以执行以下操作:

df.loc[(df.A < 0.5) | (df.B < 0.5) | (df.C < 0.5), :]

我的问题是:当你有超过 10 列时,有没有更好的方法在loc中编写条件。 我想我可以按照上面展示的方式来做,但是它变得非常乏味,我希望有更好的方法来做到这一点。

您可以使用

df.loc[(df[['A', 'B', 'C']] < 0.5).any(axis=1)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM