如何绘制数据框中缺失值的分布
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)
输出:
我有一个包含 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)
输出: