【问题标题】:How to count percentage of certain values in column in group?如何计算组中列中某些值的百分比?
【发布时间】:2021-10-13 13:29:39
【问题描述】:

我有一个数据框:

id       is_good
a1        1
a1        1
a1        0
bb        1
bb        0
bb        0
bb        0

我想为每个 id 计算 0 和 1 的百分比。所以想要的结果是:

id       is_good_perc
a1        0.67
bb        0.25

如何做到这一点? groupby("id")之后我该怎么办?

【问题讨论】:

标签: python python-3.x dataframe group-by


【解决方案1】:

一般情况:

df.groupby("id").is_good.value_counts(normalize=True)

# id  is_good
# a1  1          0.666667
#     0          0.333333
# bb  0          0.750000
#     1          0.250000
# Name: is_good, dtype: float64

在你的情况下,因为你有二进制变量,我会利用 @sushanth 在 cmets 中的内容并使用 df.groupby('id')['is_good'].mean()

【讨论】:

    猜你喜欢
    • 2021-11-22
    • 1970-01-01
    • 2017-03-28
    • 1970-01-01
    • 2021-06-25
    • 1970-01-01
    • 2021-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多