根据某些列获取数据集中被调用次数最多的名称

Posted

技术标签:

【中文标题】根据某些列获取数据集中被调用次数最多的名称【英文标题】:Getting top most called names in a dataset based on certain columns 【发布时间】:2018-05-15 00:27:02 【问题描述】:

我想知道是否有人可以帮助我解决一个小问题.. 我目前有一个包含大量行的海量数据集,我想创建一个较小的数据框,该数据框仅从较大的数据框中提取 2 列,以及在此实例“出现”中每个名称在该章节中出现的次数

下面的代码是我正在使用的

 df1 = (Dec16.groupby(["BNF Chapter", "Name"]).size().reset_index(name="Occurrence"))
df1

它绘制了这个

BNF Chapter       Name                                       Occurrence 
1                 Aluminium hydroxide                           2
1                 Aluminium hydroxide + Magnesium trisilicate   2
1                 Alverine                                      702
.......
21              Polihexanide                                     2
21              Potassium hydroxide                              32
21              Sesame oil                                       22
21              Sodium chloride                                  222

我想得到的是某个章节出现次数最多的前 10 个名字,因为数据集太大了。

例如一个只拉取的数据框 第 1 章中最常见的 10 个名字

我该怎么做呢?

非常感谢!!!

【问题讨论】:

【参考方案1】:

让我们用随机变量生成器做一个小例子。

import pandas as pd
import numpy as np
# we create random integers in 3 columns
df=pd.DataFrame(np.random.randint(0,10,(1000,3)), columns=["A","B","C"])
# we want to count the repetitions of C given A and B
result = df.groupby(["A","B"]).count()
# the result will print something like this, counting the repetitions of A and B
#       C
# A B    
# 0 0  11
#   1  10
#   2   5
#   3  12
#   4   9
#   5  12
#   6   7
#   7   8

【讨论】:

以上是关于根据某些列获取数据集中被调用次数最多的名称的主要内容,如果未能解决你的问题,请参考以下文章

获取一列中重复次数最多的项目及其在另一列中的关联值[关闭]

获取数组中出现次数最多的数据及出现次数

Mongoose/MongoDB 获取一天内查看次数最多的文章

如何在 Redshift 中找到访问次数最多的表?

如何获取数组中出现次数最多的字符串?

获取数组中出现次数最多的项