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

Python 2.7(iPython Notebook)提取特定列含NaN行的代码求助

如何查看特定列含NaN值的所有行

嗨,作为数据科学新手,能想到先排查NaN再填充真的太聪明啦!这能帮你更精准地处理数据,避免盲目填充带来的问题~ 假设你用的是pandas(数据清洗的常用工具),下面给你几种实用的方法:

1. 查看单列含NaN的所有行

比如你想检查married列的NaN行,直接用布尔索引过滤就行:

import pandas as pd

# 先加载你的数据集(假设是CSV格式,根据实际格式调整)
df = pd.read_csv('你的数据集文件名.csv')

# 筛选married列存在NaN的行
nan_married_rows = df[df['married'].isna()]
print(nan_married_rows)

如果你的pandas版本比较旧(Python2.7对应的pandas版本可能偏老),isna()可能报错,换成isnull()就可以,功能完全一样:

nan_married_rows = df[df['married'].isnull()]

2. 查看多列含NaN的所有行

要是你想同时检查gender和credit_history这两列中任意一列有NaN的行,可以这么写:

nan_multi_cols_rows = df[df[['gender', 'credit_history']].isna().any(axis=1)]
print(nan_multi_cols_rows)

这里的any(axis=1)表示只要该行的指定列里有一个NaN,就保留这一行。如果想找所有指定列都有NaN的行,把any换成all就行。

3. 先快速统计NaN数量(可选)

在查看具体行之前,你可以先看看目标列有多少个NaN,心里有数:

# 统计married列的NaN数量
print("married列的NaN数量:{}".format(df['married'].isna().sum()))

等你看完这些NaN行的具体情况,就可以针对性地用fillna()填充了。比如如果发现married列的NaN大多对应未婚情况,就可以:

df['married'].fillna('N', inplace=True)

要是想根据其他列的逻辑填充(比如结合gender列的信息),也可以进一步写自定义逻辑处理~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:05:24