📜  pandas 只选择带有 na 的列 - Python (1)

📅  最后修改于: 2023-12-03 14:45:03.589000             🧑  作者: Mango

Pandas 只选择带有 na 的列 - Python

在使用 Pandas 进行数据分析时,我们经常需要处理缺失值(NA),尤其是在数据清洗和预处理的过程中。有时候,我们需要只选择那些带有缺失值的列进行处理。本文将向您介绍如何使用 Pandas 只选择带有缺失值的列的方法。

选择带有缺失值的列

假设我们有一个名为 df 的数据框,其中有多个列可能存在缺失值:

import pandas as pd

df = pd.DataFrame({
    'A': [1, 2, None, 4],
    'B': [5, None, None, 8],
    'C': [None, None, 9, 10]
})

我们可以使用 isna() 方法检查每个单元格是否为缺失值:

null_cols = df.columns[df.isna().any()].tolist()

这个操作会返回一个列表,其中包含带有缺失值的列的列名。在我们的示例中,输出结果如下:

['A', 'B', 'C']

如果要选择带有缺失值的列,您可以使用 loc[] 方法将上述列表传递给数据框。下面是完整示例代码:

null_cols = df.columns[df.isna().any()].tolist()
df_null = df.loc[:, null_cols]

这将返回一个新数据框,其中仅包含带有缺失值的列:

     A    B     C
0  1.0  5.0   NaN
1  2.0  NaN   NaN
2  NaN  NaN   9.0
3  4.0  8.0  10.0
结论

在本文中,我们介绍了如何使用 Pandas 只选择带有缺失值的列的方法。通过使用 isna()loc[] 方法,您可以轻松地从 Pandas 数据框中选择带有缺失值的列。