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

23 浏览
0 Comments

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

这个问题已经有了答案:

Python: 如何删除特定列为空/NaN的行?

如何基于列值从数据框中选择行?

我是python pandas的新手,需要一些帮助删除一些空值行。在截图中,我需要使用python pandas删除charge_per_line ==“-”的行。

admin 更改状态以发布 2023年5月25日
0
0 Comments

多种方法

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

    df[~df['Charge_Per_Line'].str.contains('-')]
    

  2. 用nan替换“-”,并使用dropna()

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

0
0 Comments

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

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

\n\n如果这些值确实为 `-`,那么您可以将其替换为 `np.nan`,然后使用 `df.dropna`:\n\n

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

0