繁体   English   中英

熊猫按条件为所有数据框列选择行

[英]pandas select rows by condition for all of dataframe columns

我有一个数据框

d = {'col1': [1, 2], 'col2': [3, 4], 'col3' : [5,6]}
df = pd.DataFrame(data=d)
df
    col1    col2    col3
0      1       3       5
1      2       4       6

例如,我需要选择所有值为 1 的行,所以我的代码是:

df[df['col1']==1]
  col1  col2    col3
0    1     3       5

但是我如何不仅可以选择“col1”而且可以选择所有列,我已经尝试过以下代码:

for col in df.columns:
    print(df[df[col]==1])

但输出不在熊猫数据框的视图中:

   col1  col2  col3
 0    1     3     5
        Empty DataFrame
        Columns: [col1, col2, col3]
        Index: []
        Empty DataFrame
        Columns: [col1, col2, col3]
        Index: []

我可以查看所有列并像在数据框中一样查看吗?

您可以使用df.eq检查 df 中的任何值是否等于 1 并使用df.any on axis=1 ,这将为任何列值为 1 的所有行返回 True。 最后使用布尔索引

output = df[df.eq(1).any(axis=1)]

暂无
暂无

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

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