簡體   English   中英

計算特定分組值的百分比

[英]Calculate percentage of specific grouped values

我有一個數據框:

id       is_good
a1        1
a1        1
a1        0
bb        1
bb        0
bb        0
bb        0
с1        0
с1        0
d2        1
d2        1

如您所見,有些情況下 id 值只有 is_good 類型。 我想為每個 id 計算 0 和 1 的百分比。 如果 id 值只有 is_good 類型,那么他沒有的類型必須是 0%。 與 d2 相同。 所以想要的結果是:

id       is_good_perc
a1        0.67
bb        0.25
с1        0
d2        1      

怎么做? 對我來說棘手的部分是 id c1 和 d2 的情況。

我試過這個:

.groupby("id").is_good.value_count(normalize=True)

但它不會為 c1 和 d2 創建 0

您將df.is_gooddf.id然后將總和除以計數:

>>> grouped = df['is_good'].groupby(df.id)
>>> df1 = pd.DataFrame(grouped.sum() / grouped.count()).round(2).rename(columns={'is_good': 'is_good_perc'})
>>> df1 
    is_good_perc
id              
a1          0.67
bb          0.25
d2          1.00
с1          0.00

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM