【问题标题】:How to remove rows that contains only NaN values in all columns of dataframe? [duplicate]如何删除数据框所有列中仅包含 NaN 值的行? [复制]
【发布时间】:2020-11-23 08:22:52
【问题描述】:

我有如下数据框。

输入

df

A     B     C
1     2     1
NaN   4     2
3     NaN   NaN
NaN   NaN   NaN
4     2     NaN
NaN   NaN   NaN

输出

  A     B     C
  1     2     1
  NaN   4     2
  3     NaN   NaN
  4     2     NaN

如何在python中做到这一点

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    您可以选择不是NaNdf 而不是删除它:

    df = df[~((df['A'].isna()) & (df['B'].isna()) & (df['C'].isna()))]
    

    如果您想按每列的某些值过滤 df,这会提供更多功能。

    A     B     C
    1     2     1
    NaN   4     2
    3     NaN   NaN
    4     2     NaN
    

    您可以使用df.dropna?? 获取有关dropna 功能的信息。

    【讨论】:

      【解决方案2】:

      你可以使用:

      df.dropna(how='all')
      

      你也可以看看这个帖子:How to drop rows of Pandas DataFrame whose value in a certain column is NaN

      【讨论】:

        【解决方案3】:
        df.dropna(axis = 0, how = 'all')
        

        【讨论】:

          猜你喜欢
          • 2023-01-28
          • 1970-01-01
          • 2021-08-21
          • 2018-06-17
          • 2018-11-02
          • 1970-01-01
          • 2017-05-11
          • 2018-12-18
          • 2018-05-08
          相关资源
          最近更新 更多