
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中删除重复的行并计算它们的频率?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)