我有以下Python pandas dataframe df:
Week | Category | Executed
Wk1 A 0
Wk1 B 0
Wk1 C 1
Wk2 D 1
Wk2 E 0
我想计算每周执行多少个类别的比率.
最终目标数据框df2:
Week | Exec_Ratio
Wk1 0.3333
Wk2 0.5
在Wk1中,执行了3个类别中的1个-> 1/3 = 0.333,在Wk2中执行2个类别中的两个1 –> 1/2 = 0.5
解决方法:
就此特定目的而言,它不如@ A-Za-z的注释…但是更具可推广性.
df.groupby('Week').Executed.agg(dict(Sum='sum', Count='count')).eval('Sum / Count')
Week
Wk1 0.333333
Wk2 0.500000
dtype: float64