[英]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.