gpt4 book ai didi

Python,计算另一列中值的出现频率

转载 作者:太空宇宙 更新时间:2023-11-03 14:44:02 25 4
gpt4 key购买 nike

所以我一直在 stackoverflow 上寻找类似问题的解决方案,但一直碰壁。我是 python 新手,并且使用 pandas/python 进行 ETL,所以如果我没有充分描述我的情况,请原谅我。

我有两个数据框 df1 看起来像:

    Subscriber Key  OtherID  AnotherID
1 'abc' '12' '23'
2 'bcd' '45' '56'
3 'abc' '12' '23'
4 'abc' '12' '23'
5 'cde' '78' '90'
6 'bcd' '45' '56'

df2 看起来像:

    Subscriber Key  OtherID  AnotherID
1 'abc' '12' '23'
2 'bcd' '45' '56'
3 'cde' '78' '90'

我试图返回数据框中出现 SubscriberKey: 'abc' 的次数。找到值后,我想将计数附加到另一个数据帧(df2),这是我的第一个重复数据删除数据帧。

它看起来像这样:

    Subscriber Key  OtherID  AnotherID Total Instances
1 'abc' '12' '23' '3'
2 'bcd' '45' '56' '1'
3 'cde' '78' '90' '1'

所以我所做的就是尝试使用这一行:

    df1.groupby(['SubscriberKey']).size()

我只使用“SubscriberKey”的原因是因为某些行只将该列填写为“OtherID”和“AnotherID”空白。

我也尝试过Series.value_count()。当我尝试使用 groupby 和 size() 并将 df2['Total Instances'] 的值设置为出现次数时,这些值似乎没有正确排列。

例如新表如下所示:

    Subscriber Key  OtherID  AnotherID Total Instances
1 'abc' '12' '23' '1'
2 'bcd' '45' '56' '3'
3 'cde' '78' '90' '2'

所以我最初的想法是也许在执行 groupby 时,该函数会自动对我的输出进行排序。我尝试通过将 groupby 表格保存为 csv 进行检查,并意识到它只打印出计数列,而不打印出与之关联的订阅者 key 列。

无论如何,有人对我如何实现这一目标有任何意见吗?重申一下,我本质上只是想向 df2 添加一列,该列返回 df1 中出现次数或实例的总数。

谢谢!

最佳答案

你可以尝试:

df2['Total Instances'] = df2['Subscriber Key'].map(df1['Subscriber Key'].value_counts())

关于Python,计算另一列中值的出现频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46394556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com