Pandas,按唯一用户和分析结果分组
我有一些赌博交易(下面的小样本)。我希望能够对每个唯一用户的交易进行分组,同时还可以确定每个用户的成功。
import pandas as pd
d = {'user_id': [1234, 5830, 3943, 1234, 5032, 5830,1234 ], 'win': [1, 0, 1, 0, 0, 1, 1],}
df= pd.DataFrame(data=d)
df
我可以对用户 ID 进行分组并计数以查看每次发生的次数,但不执行第二部分 - 确定每个用户的成功,希望看到实际的赢/输以及每个用户的比率。
group = df.groupby('user_id')['user_id'].count()
print(group)
所以我的输出将是 aa df 与这些列 '用户', 'Total_wins', 'Total_losses','win_loss_ratio'
I have a df of gambling transactions (small sample below). I want to be able to group the transactions of each unique user, but also to determine each user's success.
import pandas as pd
d = {'user_id': [1234, 5830, 3943, 1234, 5032, 5830,1234 ], 'win': [1, 0, 1, 0, 0, 1, 1],}
df= pd.DataFrame(data=d)
df
I can group the user id's and count to see how many times each occurs, but not do the second part- determine success for each user, would like to see win/loss in real terms and as a ratio for each user.
group = df.groupby('user_id')['user_id'].count()
print(group)
So my output would a a df with these columns
'User', 'Total_wins', 'Total_losses','win_loss_ratio'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用
GroupBy。 agg
用于计数1
和sum
,用于计数0
lambda 函数和用于ratio
使用意思
:Use
GroupBy.agg
for count1
withsum
, for count0
lambda function and forratio
usemean
: