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

Pandas中如何识别、统计并删除未被isnull()检测到的空白值

解决DataFrame空白值(非NaN)的识别、统计与删除问题

问题原因

你遇到的空白值是空字符串("")或带空白字符的字符串,这类值不属于NaN,所以df.isnull().sum()统计不到。下面是具体处理方法:


1. 识别与统计空白值

统计纯空字符串数量

# 统计完全为空字符串的行数
empty_count = (df['TX_order'] == '').sum()
print(f"纯空字符串数量:{empty_count}")

统计所有含空白字符的行(包括空格、制表符等)

如果空白值是带空格的字符串(比如" "),需要先去除前后空白再判断:

# 统计所有空白类值的行数(含空格、空字符串)
blank_count = (df['TX_order'].astype(str).str.strip() == '').sum()
print(f"所有空白类值数量:{blank_count}")

查看具体空白值的行

想定位这些行可以用布尔索引筛选:

# 筛选所有空白类值的行
blank_rows = df[df['TX_order'].astype(str).str.strip() == '']
print(blank_rows)

2. 删除空白值行

有两种常用方法:

方法一:先转NaN再删除

把空白值转为NaN,再用dropna()统一删除:

import numpy as np

# 将空白类值转为NaN
df['TX_order'] = df['TX_order'].mask(df['TX_order'].astype(str).str.strip() == '')
# 删除含NaN的行
df_cleaned = df.dropna(subset=['TX_order'])

方法二:直接过滤

直接筛选出非空白的行,一步到位:

# 保留非空白的行(自动排除空字符串、空格字符串)
df_cleaned = df[df['TX_order'].astype(str).str.strip() != '']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 15:55:17