【问题标题】:Removing rows with null values in any of a subset of columns (pandas) [duplicate]删除任何列子集中具有空值的行(熊猫)[重复]
【发布时间】:2018-05-03 05:32:16
【问题描述】:

如果我有以下数据框。如果ParticipationHomeworkTestPresentation 中有一个空值(如果有空值是四列中的任何一个),那么我想删除该行。如何在 Pandas 中实现这一点。

Name    Participation  Homework  Test Presentation  Attendance
Andrew  92             Null      85   95            88
John    95             88        98   Null          90
Carrie  82             99        96   89            92
Simone  100            91        88   99            90

在这里,我想从数据框中删除除 Carrie 和 Simone 之外的所有人。如何在 pandas 中实现这一点?

我在 Stackoverflow 上找到了这个,我认为这可能对 df = df[pd.notnull(df['column_name'])] 有所帮助,但无论如何我可以为所有四列(所以是一个子集)而不是单独为每一列执行此操作吗?

谢谢!

【问题讨论】:

    标签: python pandas dataframe null


    【解决方案1】:

    如果你使用ne,你可以跳过替换:

    df[df.ne('Null').all(1)]
    
         Name  Participation Homework  Test Presentation  Attendance
    2  Carrie             82       99    96           89          92
    3  Simone            100       91    88           99          90
    

    【讨论】:

      【解决方案2】:

      准备,让我们先用 np.nan 替换那个字符串 'Null'。

      现在,让我们使用 notnullall 和 axis=1 试试这个:

      df[df.replace('Null',np.nan).notnull().all(1)]
      

      输出:

         Name  Participation Homework  Test Presentation  Attendance
      2  Carrie             82       99    96           89          92
      3  Simone            100       91    88           99          90
      

      或者使用isnullany~

      df[~df.replace('Null',np.nan).isnull().any(1)]
      

      【讨论】:

        【解决方案3】:

        replace + dropna

        df.replace({'Null':np.nan}).dropna()
        Out[504]: 
             Name  Participation Homework  Test Presentation  Attendance
        2  Carrie             82       99    96           89          92
        3  Simone            100       91    88           99          90
        

        【讨论】:

          猜你喜欢
          • 2019-11-08
          • 1970-01-01
          • 1970-01-01
          • 2017-09-27
          • 2023-02-18
          • 1970-01-01
          • 2019-11-12
          • 2023-03-24
          • 1970-01-01
          相关资源
          最近更新 更多