I have a dataframe like this
name value
a expire
b active
a pending
c pending
a pending
d pending
d expire
I want return like this
name rate
a 0.33
b 0
c 0
d 0.5
The logic is to group by 'name', then count expire, and use expire/total number in the name group. For example a has one expire, and two pending, total number in a group is 3. Therefore, a should get a rate of 1/3 = 0.33.
I used groupby('name')['value'].value_counts()
Is there anyway I can return a dataframe?
question from:
https://stackoverflow.com/questions/65895492/groupby-followed-by-a-function 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…