您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

5b51 2022/1/14 8:20:17 python 字数 1678 阅读 450 来源 www.jb51.cc/python

我有一个创建的数据帧: 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

概述

df1 = pd.DataFrame({'key': ['b','b','a','c','b'],'year':[2000,2001,1998,1999,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中删除重复的行并计算它们的频率?全部内容,希望文章能够帮你解决python – Pandas:如何从DataFrame中删除重复的行并计算它们的频率?所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶