📌  相关文章
📜  显示数据框中的哪些列具有 NA - Python (1)

📅  最后修改于: 2023-12-03 15:10:31.508000             🧑  作者: Mango

显示数据框中的哪些列具有 NA - Python

在进行数据分析时,为了确保数据的完整性,我们通常需要检查数据框中是否有缺失的数据。Python中的pandas库提供了一些方便的方法来检查数据框中是否有包含缺失值的列。

示例数据

我们将使用以下示例数据来演示如何检查数据框中是否包含缺失值:

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
                   'B': [0.1, 0.2, 0.3, pd.NA, 0.5],
                   'C': ['foo', 'bar', pd.NA, 'baz', 'qux'],
                   'D': [pd.Timestamp('20190101'), pd.NaT, pd.Timestamp('20190103'), pd.Timestamp('20190104'), pd.Timestamp('20190105')],
                   'E': [True, False, pd.NA, False, pd.NA]})

这个数据框包含5列,包括整数、浮点数、字符串、时间戳和布尔值类型。

检查哪些列包含缺失值

我们可以使用pandas的isna()和any()方法来检查数据框中哪些列包含缺失值:

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

这将返回一个列表,其中包含包含缺失值的列名:

['B', 'C', 'D', 'E']

我们可以使用这个列表来进一步处理我们的数据。

将包含缺失值的行删除

如果我们想要删除包含缺失值的行,我们可以使用dropna()方法:

df.dropna(inplace=True)

这将删除包含缺失值的任何行。

用平均值填充缺失值

如果我们想用列的平均值来填充缺失值,我们可以使用fillna()方法:

df.fillna(df.mean(), inplace=True)

这将用每列的平均值来填充包含缺失值的单元格。

结论

在数据分析中,检查数据框中哪些列包括缺失值是非常重要的。使用pandas的isna()和any()方法,可以很容易地找到包含缺失值的列。我们还演示了如何删除包含缺失值的行,以及如何用列的平均值填充这些值。