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

如何将包含至少一个NaN值的行添加至新的pandas DataFrame

提取Pandas DataFrame中含NaN的行

嘿,这个需求其实用Pandas的内置方法就能轻松实现,我给你一步步说明:

步骤1:创建原DataFrame

首先我们先还原你的示例数据(如果已经有现成的DataFrame可以跳过这一步):

import pandas as pd
import numpy as np

# 构造原DataFrame
df = pd.DataFrame({
    'Code': ['AA', 'BB', 'CC'],
    'Sales': [1000, np.nan, 3020],
    'Id': [23, 43, np.nan]
})

步骤2:筛选含至少一个NaN的行

核心逻辑就是利用isna()和any()方法组合筛选:

# 提取包含至少一个NaN的行到新DataFrame
nan_rows_df = df[df.isna().any(axis=1)]

代码解释:

  • df.isna():生成一个布尔型DataFrame,每个元素为True表示对应位置是NaN,否则为False。
  • .any(axis=1):沿着行方向(axis=1)检查每行是否存在至少一个True,返回一个布尔Series,索引和原DataFrame一致。
  • 用这个布尔Series对原DataFrame做索引,就能精准提取出所有包含NaN的行,存入新的DataFramenan_rows_df中。

验证结果

打印nan_rows_df就能得到你预期的结果:

Code   Sales    Id
1   BB     NaN  43.0
2   CC  3020.0   NaN

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 08:27:43