【问题标题】:Finding percentage of not-null values in each column for every subset in groupby为 groupby 中的每个子集查找每列中非空值的百分比
【发布时间】:2021-10-08 02:50:09
【问题描述】:

我正在尝试为每个 groupby 子集打印每列中非空值的百分比。 groupby 在“代理”列上执行。你能帮我解决这个问题吗?我尝试过这样的事情:

[代码]

df.groupby('Agent').apply(lambda x: x.notnull().sum()/len(x)*100)

【问题讨论】:

    标签: python pandas dataframe numpy notnull


    【解决方案1】:

    获取非空值百分比的最快方法可能是将数据列转换为 True 或 False,然后进行 groupby 均值操作。二元列的均值运算隐式计算为真值的百分比,因为它将真视为 1,假视为 0。

    agents = ['A','A','A','B','B','C','C','C','C', 'D']
    data = pd.DataFrame(data={
        'Agent': agents,
        'x': range(len(agents)),
        'y': range(len(agents))
    })
    
    data.loc[[0, 4, 5], 'x'] = np.nan
    data.loc[[1, 3, 9], 'y'] = np.nan
    
    # Percentage non-missing grouped by Agent
    100*(1-data.set_index('Agent').isnull().groupby(level='Agent').mean())
    
    
    

    【讨论】:

      猜你喜欢
      • 2020-10-28
      • 1970-01-01
      • 1970-01-01
      • 2018-12-06
      • 2021-11-08
      • 1970-01-01
      • 2019-04-09
      • 2019-10-26
      • 2013-12-27
      相关资源
      最近更新 更多