Python 如何分组并计算熊猫的概率
我有一个如下的数据帧Python 如何分组并计算熊猫的概率,python,pandas,Python,Pandas,我有一个如下的数据帧 id1, id2, thumb_up 1, 1, 1 1, 2, -1 1, 3, 1 2, 1, 1 2, 3, -1 and so on 我想创建以下数据帧 id1, thumb_up_prob 1, 0.66 ( 2 positive feedback and 1 negative = 2/3) 2, 0.5 (1 positive and 1 negative feedback = 1/2) 等等。。 基本上我想按id1分
id1, id2, thumb_up
1, 1, 1
1, 2, -1
1, 3, 1
2, 1, 1
2, 3, -1
and so on
我想创建以下数据帧
id1, thumb_up_prob
1, 0.66 ( 2 positive feedback and 1 negative = 2/3)
2, 0.5 (1 positive and 1 negative feedback = 1/2)
等等。。
基本上我想按id1分组,计算概率。
我如何在熊猫身上做到这一点。- 检查
是否等于1df.thumb\u up
groupby
df.id1
- 由于
是bool
的子集,我们称之为int
mean
使用
apply
功能和lambda
# df
df = pd.DataFrame({'id1':[1,1,1,2,2], 'id2':[1,1,3,1,3], 'thumb_up':
[1,-1,1,1,-1]})
# probability
df.groupby('id1').apply(lambda x: x[x>0].count()/len(x))
输出:
id1 id2 thumb_up
id1
1 1.0 1.0 0.666667
2 1.0 1.0 0.500000
id1 id2 thumb_up
id1
1 1.0 1.0 0.666667
2 1.0 1.0 0.500000