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

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

概述我有一个创建的数据帧: df1 = pd.DataFrame({'key': ['b', 'b', 'a', 'c', 'a', 'a', 'b'], 'year':[2000,2001,1998,1999,1998,1998,2000]}) 具体如下: key year0 b 2000 1 b 2001 2 a 我有一个创建的数据帧:
df1 = pd.DataFrame({'key': ['b','b','a','c','b'],'year':[2000,2001,1998,1999,2000]})

具体如下:

key    year0    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  00   a  1998  31   b  2000  22   b  2001  13   c  1999  1

如您所见,该列尚未命名,因此您可以执行类似的 *** 作

mydf = df1.groupby(['key','year']).size().reset_index()mydf.rename(columns = {0: 'frequency'},inplace = True)mydf  key  year  frequency0   a  1998          31   b  2000          22   b  2001          13   c  1999          1

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

总结

以上是内存溢出为你收集整理的python – Pandas:如何从DataFrame中删除重复的行并计算它们的频率?全部内容,希望文章能够帮你解决python – Pandas:如何从DataFrame中删除重复的行并计算它们的频率?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1204944.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-04
下一篇2022-06-04

发表评论

登录后才能评论

评论列表(0条)

    保存