如果Pandas数据框中的特定列存在空值,则删除行

47

图片描述

我是 Python Pandas 的新手。需要帮忙删除一些存在空值的行。在截图中,我需要使用 Python Pandas 删除 charge_per_line == "-" 的行。

2个回答

74
如果在读入pandas时, Charge_Per_Line中的相关条目为空(NaN),您可以使用df.dropna
df = df.dropna(axis=0, subset=['Charge_Per_Line'])

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

如果这些值确实是“-”,则可以将它们替换为“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'])

6

多种方式

  1. Use str.contains to find rows containing '-'

    df[~df['Charge_Per_Line'].str.contains('-')]
    
  2. Replace '-' by nan and use dropna()

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接