如何解决在将函数应用于熊猫数据框中的值时,奇怪的百分比值不正确
我正在尝试理解聚合函数并处理数据
我有一个名为df3的数据框,已在其中应用了函数bellow-
import pandas as pd
a = df3.merge(pd.DataFrame(df3.groupby('SBK')['CountRecs'].sum()),on='SBK')
df3['percent'] = (a['CountRecs_x']/a['CountRecs_y']) *100
df3
Out[126]:
SBK SSC CountRecs percent
0 99 22 80618 12.416007
1 99 12 75776 11.670288
2 99 121 68746 10.587596
3 99 138 63026 9.706656
4 99 123 50807 7.824804
... ... ... ...
160247 184 1318 1 50.000000
160248 394 2659 1 33.333333
160249 412 757 1 33.333333
160250 357 1312 1 33.333333
160251 202 106 1 100.000000
我面临的一个奇怪问题是这些百分比值不准确。我希望它反映出这样的逻辑:如果SBK为99,则该百分比显示Countrecs除以99的所有countrecs的总数。我注意到此问题,因为对于SBK 202,该百分比显示为100,但这是不可能的,因为SBK 202在我的数据框中显示了很多次。该百分比应该远低于100%。假设有两次202,第一个202 countrec是104,而这个是106。那么第一个countrec旁边显示的百分比是104/210 X 100,下一个是106/210 X 100。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。