簡體   English   中英

用熊貓計算比率

[英]calculate ratio with pandas

我有一個這樣的數據框:

id-customer      status     
1                 Won
1                 Won
2                 Won
2                 Won
3                 Not won

並且我喜歡添加一個新的列,它是一個計算的贏率:“贏得”的數量除以由 id-customer 分組的總數。

所以我應該有一個這樣的數據框:

id-customer      status           winrate
1                 Won             1 (2/2)
1                 Won             1  (2/2)
2                 Won             1 (2/2)
2                 Won             1   (2/2)
3                 Not won         0  (0/1)

我嘗試這樣:

df_winrate=df.groupby(['id-customer'],as_index=False)['status'].sum()

但它沒有用

你能幫我計算一下勝率欄嗎?

謝謝

使用groupby並使用transform僅將sumsize的比率transform為原始結果即可。

g = df.status.eq('Won').groupby(df['id-customer'])
g.transform('sum')/g.transform('size')

0    1.0
1    1.0
2    1.0
3    1.0
4    0.0

您應該嘗試按狀態分組,然后獲得組 Won 和 Not Won 最終您可以創建一個數學方程式來拉出比率。

data = df.groupby(['status']) won = data.get_group('Won') not_won = dic4.get_group('Not Won')

*小心你的索引..似乎你有重復

暫無
暫無

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

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