熊猫 - 按分组频率获取值

2024-10-06 10:33:48 发布

您现在位置:Python中文网/ 问答频道 /正文

有人能帮我(可能)在熊猫群里。在

以下是df:

    easy_donor  v_fam   count
0   donor_1_NS  IGHV1   5202376
1   donor_1_NS  IGHV2   1955547
2   donor_1_NS  IGHV3   70426272
3   donor_1_NS  IGHV4   452367
4   donor_1_NS  IGHV5   4842145
5   donor_1_NS  IGHV6   490142
6   donor_1_NS  IGHV7   19708
24  donor_2_NS  IGHV1   31258603
25  donor_2_NS  IGHV2   5295899
26  donor_2_NS  IGHV3   47286417
27  donor_2_NS  IGHV4   44553802

然后我要把每个计数作为按捐赠者分组的计数总和的频率。在

比如:

^{pr2}$

然后原始数据帧中的每个计数除以groupby sum(如果它们与easy_-donor列匹配)。我必须加入原始数据帧吗?在


Tags: df原始数据counteasy计数nsfamdonor
2条回答

尝试:

df.groupby('easy_donor')["count"].apply(lambda x: x / x.sum())

忘了这个答案!!!这只是个主意。不可行

请注意,使用pandas apply的速度非常慢。相反,请尝试使用本地广播。在

df.groupby(by='easy_donor')['count'] * 1. / df.groupby(by='easy_donor').sum()

相关问题 更多 >