【问题标题】:Pandas: select rows if a specific column satisfies a certain conditionPandas:如果特定列满足特定条件,则选择行
【发布时间】:2017-04-30 01:34:52
【问题描述】:

假设我有这个数据框df:

    A   B   C
0   1   1   2
1   2   2   2
2   1   3   1
3   4   5   2

假设您要选择列C>1 的所有行。如果我这样做:

newdf=df['C']>1

我只在结果df中获得TrueFalse。相反,在给出的示例中,我想要这个结果:

    A   B   C
0   1   1   2
1   2   2   2
3   4   5   2

你会怎么做?你建议使用iloc吗?

【问题讨论】:

    标签: python pandas dataframe slice


    【解决方案1】:

    使用boolean indexing:

    newdf=df[df['C']>1]
    

    【讨论】:

    • 这个和 piRSquared 的答案完美地工作。我更喜欢这个,因为更容易记住
    【解决方案2】:

    使用query

    df.query('C > 1')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      • 2021-07-26
      • 2017-01-13
      • 2011-12-28
      • 2014-02-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多