【问题标题】:Group data and visualize missing values分组数据并可视化缺失值
【发布时间】:2020-12-22 02:33:05
【问题描述】:

我确实有一个大型医疗数据集,我想按医院分组,然后绘制每个医院的缺失值图表。数据集如下所示:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

# intialise data of lists. 
data = {'hospital':['Nick hospital', 'Nick hospital','Nick hospital', 'Krish hospital', 'Krish hospital','Krish hospital'], 
        'NAR_used':[2, 1,np.nan, 2, np.nan,3], 'ipno':[45,np.nan,np.nan,np.nan,65,67]
       } 

# Create DataFrame 
df = pd.DataFrame(data)
df

使用这个样本数据集,我们只有 2 家医院变量,因此我想可视化每家医院的缺失值。 这是我尝试过的

grouped = df.groupby(['hospital'])
for (i in grouped):
    null_counts = df.isnull().sum()/len(df)
    plt.figure(figsize=(16,8))
    plt.xticks(np.arange(len(null_counts)) + 0.5, null_counts.index, 
    rotation = 'vertical')
    plt.ylabel('Fraction of rows with missing data')
    plt.bar(np.arange(len(null_counts)), null_counts)

我的解决方案不是为每个医院生成图表。请帮忙。预期输出是可视化每个医院缺失值的条形图。

【问题讨论】:

    标签: python pandas matplotlib


    【解决方案1】:

    让我们试试吧:

    df.set_index('hospital').isna().sum(level=0).plot.bar()
    

    输出:

    【讨论】:

    • 由于我的数据集有很多变量,你能不能把图表分开,让每个医院都有自己的图表
    • 通过布局传递subplots=True,例如layout=(4,3) 为 12 列,将为您提供不同的子图。
    • 有帮助,但不是我期望的确切输出。你能在你写的代码上添加这些子图,以便我测试
    猜你喜欢
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-17
    相关资源
    最近更新 更多