You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将DataFrame中的空值替换为NaN或删除含空值的行

处理DataFrame中的空值行

我有一个部分行包含空值的DataFrame,示例如下:

ID       Date     Price  Curr
A        Jan 21    (10,0)     USD
B        Aug 8     (10,0)     USD
C        Sep 29    (10,0)     USD
settle   Aug 24    (   ,)

其中最后一行的Price和Curr列存在空值,需要删除含空值的行,得到如下结果:

ID       Date     Price  Curr
A        Jan 21    (10,0)     USD
B        Aug 8     (10,0)     USD
C        Sep 29    (10,0)     USD

示例初始化代码

import pandas as pd

data = {
    "ID": ["A", "B", "C", "settle"],
    "Date": ["Jan 21", "Aug 8", "Sep 29", "Aug 24"],
    "Price": [(10,0), (10,0), (10,0), ()],
    "Curr": ["USD", "USD", "USD", ""]
}

df = pd.DataFrame(data)

解决方案

方法1:替换空值为NaN后删除

先将空元组()和空字符串""替换为NaN,再调用dropna()删除包含空值的行:

import numpy as np

# 批量替换空值为NaN
df.replace({"": np.nan, (): np.nan}, inplace=True)
# 删除含NaN的行
df_cleaned = df.dropna()

方法2:直接筛选非空行

通过条件判断直接筛选出Price非空元组且Curr非空字符串的行:

df_cleaned = df[(df["Price"] != ()) & (df["Curr"] != "")]

结果验证

执行任意一种方法后,打印清理后的DataFrame:

print(df_cleaned)

输出结果:

ID     Date    Price Curr
0  A  Jan 21  (10, 0)  USD
1  B   Aug 8  (10, 0)  USD
2  C  Sep 29  (10, 0)  USD

内容的提问来源于stack exchange,提问作者iBeMeltin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 05:29:56