【问题标题】:Delete rows if there are null values in a specific column in Pandas dataframe [duplicate]如果 Pandas 数据框中的特定列中有空值,则删除行[重复]
【发布时间】:2018-08-23 19:24:42
【问题描述】:

我是 python 熊猫的新手。在删除有空值的几行时需要一些帮助。在屏幕截图中,我需要使用 python pandas 删除 charge_per_line == "-" 所在的行。

【问题讨论】:

    标签: python pandas dataframe filter series


    【解决方案1】:

    如果读入pandas时Charge_Per_Line相关条目为空(NaN),可以使用df.dropna

    df = df.dropna(axis=0, subset=['Charge_Per_Line'])
    

    如果值是真正的-,那么您可以将它们替换为np.nan,然后使用df.dropna

    import numpy as np
    
    df['Charge_Per_Line'] = df['Charge_Per_Line'].replace('-', np.nan)
    df = df.dropna(axis=0, subset=['Charge_Per_Line'])
    

    【讨论】:

      【解决方案2】:

      多种方式

      1. 使用 str.contains 查找包含 '-' 的行

        df[~df['Charge_Per_Line'].str.contains('-')]
        
      2. 用 nan 替换 '-' 并使用 dropna()

        df.replace('-', np.nan, inplace = True)
        df = df.dropna()
        

      【讨论】:

        猜你喜欢
        • 2021-11-11
        • 2021-12-06
        • 2020-04-19
        • 2020-02-27
        • 2018-01-13
        • 2019-11-04
        • 2021-12-03
        • 1970-01-01
        • 2015-04-14
        相关资源
        最近更新 更多