如何绘制数据框中缺失值的分布

How to plot distribution of missing values in a dataframe

我有一个包含 100 列的数据框,我想通过绘制图形来调查缺失值的比例。

我可以使用以下代码获得比例:

代码:

missing_data_in_df=pd.DataFrame({'NaN_Counts': df.isna().sum(), 'NaN_Proportions(%)': (df.isna().sum() / df.shape[0]) * 100}).sort_values(by='NaN_Counts', ascending=False)
missing_data_in_df.head()

输出:

        NaN_Counts  NaN_Proportions(%)
Col1    889061      99.757636
Col2    685843      76.955435
Col3    584612      65.596749
Col4    476524      53.468668
Col4    392318      44.020282

现在尝试使用直方图进行可视化时 -

代码:

missing_data_in_df.hist()

我得到的输出为 -

有什么方法可以获取 x 轴数据框的特征名称吗?

使用你的数据框:

import pandas as pd

df = pd.DataFrame(
    {
        "features": ["Col1", "Col2", "Col3", "Col4", "Col5"],
        "NaN_Counts": [889061, 685843, 584612, 476524, 392318],
        "NaN_Proportions(%)": [99.757636, 76.955435, 65.596749, 53.468668, 44.020282],
    }
)

这是一种方法:

df.plot.bar(x="features", subplots=True)

输出: