【问题标题】:How to remove certain rows in dataframe using condtion with Pandas? [duplicate]如何使用 Pandas 的条件删除数据框中的某些行? [复制]
【发布时间】:2021-04-22 11:33:49
【问题描述】:
user_id     user_verified
1              False
2              False
3              False
4              True
5              False
6              True

如何删除所有的“False”值并保留“True”值?

【问题讨论】:

标签: python pandas


【解决方案1】:
df = df[df['user_verified'] == True]

您可以通过这种方式检查条件。如果 True 在第 2 列中,这将保留该行。

您也可以根据布尔值删除行:

df.drop(df[df['user_verified'] == False].index, inplace=True)

甚至,保留True

df = df[df.user_verified]

【讨论】:

    【解决方案2】:

    假设您的数据位于以下类似格式指定的数据框中:

    data = pd.DataFrame(zip(range(1,7), [False, False, False, False, True, False, True]), columns=['user_id', 'user_verified'])
    

    您可以简单地使用掩码,因为 user_verified 是布尔值:

    verified = data[data['user_verified']]
    

    【讨论】:

      【解决方案3】:

      有一些方法可以做到这一点

      df = df[df['user_verified'] == True]
      

      或者你也可以使用

      df = df.loc[df['user_verified'] == True]
      

      【讨论】:

        【解决方案4】:

        用途:

        df = df[df['user_verified'] == True] 
        

        或(不创建副本):

        df = df.loc[df.user_verified,:]
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-10-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-02-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多