gpt4 book ai didi

python - 使用 groupby 计算 pandas 数据框中的元素并将它们附加到现有数据框中

转载 作者:太空宇宙 更新时间:2023-11-03 13:08:17 26 4
gpt4 key购买 nike

我有一个具有以下结构的 Pandas 数据框:

date    ticker Name 
2/1/10 aaa zzz
2/1/10 aaa yyy
2/5/10 bbb xxx
2/5/10 ccc www
2/5/10 ccc qqq
2/5/10 ddd vvv
2/6/10 aaa zzz

我想在每一行中添加一个列,其中包含同一代码在同一日期出现的次数。所以输出看起来像这样:

date    ticker Name count 
2/1/10 aaa zzz 2
2/1/10 aaa yyy 2
2/5/10 bbb xxx 1
2/5/10 ccc www 2
2/5/10 ccc qqq 2
2/5/10 ddd vvv 1
2/6/10 aaa zzz 1

目前我能够获得每个股票代码在同一日期出现的次数,但在一个缩减的数据框中,所以我无法将它优雅地调整回原始数据框。这就是我正在尝试的:

grpby2 = df2.groupby(['Date','Ticker'])
tmp = grpby2.agg({'Ticker':'max','Name':'count'}).reset_index(1,drop=True).reset_index(drop=False)

谢谢

最佳答案

使用 groupby + transform'count':

df['count'] = df.groupby(['date', 'ticker']).transform('count')

print(df)

date ticker Name count
0 2/1/10 aaa zzz 2
1 2/1/10 aaa yyy 2
2 2/5/10 bbb xxx 1
3 2/5/10 ccc www 2
4 2/5/10 ccc qqq 2
5 2/5/10 ddd vvv 1
6 2/6/10 aaa zzz 1

也适用于 len,但此选项速度明显较慢,因为它不使用字符串指示的优化函数。

关于python - 使用 groupby 计算 pandas 数据框中的元素并将它们附加到现有数据框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51047491/

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