gpt4 book ai didi

python - Pandas:如何从 DataFrame 中删除重复行并计算它们的频率?

转载 作者:太空狗 更新时间:2023-10-30 00:11:11 27 4
gpt4 key购买 nike

我创建了一个数据框:

df1 = pd.DataFrame({'key': ['b', 'b', 'a', 'c', 'a', 'a', 'b'],
'year':[2000,2001,1998,1999,1998,1998,2000]})

即如下:

    key    year
0 b 2000
1 b 2001
2 a 1998
3 c 1999
4 a 1998
5 a 1998
6 b 2000

我想以最快的方式获取每行出现的次数:

key  year    frequency  
b 2000 2
b 2001 1
a 1998 3
c 1999 1

最佳答案

通过做

df1.groupby(['key','year']).size().reset_index()

你得到...

  key  year  0
0 a 1998 3
1 b 2000 2
2 b 2001 1
3 c 1999 1

如您所见,该列尚未命名,因此您可以执行以下操作

mydf = df1.groupby(['key','year']).size().reset_index()
mydf.rename(columns = {0: 'frequency'}, inplace = True)

mydf

key year frequency
0 a 1998 3
1 b 2000 2
2 b 2001 1
3 c 1999 1

(您可以根据需要省略 .reset_index(),但在这种情况下,您需要将 mydf 转换为数据帧,如下所示:mydf = pd.DataFrame(mydf),然后才重命名该列)

关于python - Pandas:如何从 DataFrame 中删除重复行并计算它们的频率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21558999/

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