- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我的数据集如下所示:
ID | country
1 | USA
2 | USA
3 | Zimbabwe
4 | Germany
我执行以下操作以获取第一个国家的名称及其相应的值。所以在我的例子中是:
df.groupby(['country']).country.value_counts().nlargest(5).index[0]
df.groupby(['country']).country.value_counts().nlargest(5)[0]
df.groupby(['country']).country.value_counts().nlargest(5).index[1]
df.groupby(['country']).country.value_counts().nlargest(5)[1]
etc.
输出将是:
(USA), 388
(DEU), 245
etc.
然后我重复它,直到我得到数据集中的前 5 个国家/地区。
但是,我怎样才能得到一个“其他”或“其他”列,将所有其他国家/地区集中在一起。所以像下面这样的国家在我的数据集中并不常见:
Zimbabwe, Irak, Malaysia, Kenya, Australia etc.
所以我想要第六个值,输出如下所示:
(其他), 3728
我怎样才能在 pandas 中实现这一点?
最佳答案
使用:
N = 5
#get counts of column
s = df.country.value_counts()
#select top 5 values
out = s.iloc[:N]
#add sum of another values
out.loc['Other'] = s.iloc[N:].sum()
最后如果需要 2 列 DataFrame:
df = out.reset_index()
df.columns=['country','count']
关于python - 取 nlargest 5 并对 pandas 中的其余部分求和/计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54327574/
我正在尝试使用“最大”获取前“n”个结果,但我认为这种行为很奇怪。如果有人能帮助我理解为什么会出现这种行为,那就太好了。 filter = pd.DataFrame([['user1','item2'
我有一个数据框 ID CAT SCORE 0 0 0 8325804 1 0 1 1484405 ...
我有一本包含 {key: count} 的字典,比如说status_count = {'管理分析':13859,'计算机程序员':72112}我正在尝试为 heapq.nlargest() 编写一个键
我想获取数据集中每年前 10 个“净利润”的平均值,并将其存储在新的 df 中。这是我目前所拥有的。 #loading the csv file df = pd.read_csv('tmdb-movi
努力将 .nlargest() 应用于我的 groupedby 数据,以便仅显示每个索引的总收入最大的 10 个 [0] Groupedby 数据如下所示: 当我运行时: grp_data.n_lar
我有以下示例 DataFrame 定义如下: df1 = pandas.DataFrame(data = {"Age":[28, 3, 32, 18], "Student":[False, True,
我在看 this pycon talk, 34:30演讲者说得到t n 列表中的最大元素元素可以在 O(t + n) 中完成. 这怎么可能?我的理解是创建堆将是 O(n) ,但是 nlargest 的
有谁知道如何将 heapq.nlargest 与百分比而不是数字一起使用?目前我有 heapq.nlargest(187030, y) 但这让我得到了前 187030 个数字。我需要它来为每个数组获取
这是 Pandas 文档 v0.22.0 中的示例: In [330]: df = pd.DataFrame({'a': [-2, -1, 1, 10, 8, 11, -1],
我有一个如下所示的DataFrame: name value date 2016-05-01 kelly 20 2016-05-05 john
此问题是以下帖子的延伸:select largest N of a column of each groupby group using pandas 让我们使用相同的 df 和所选答案中提出的解决方
我有这个数据集: Id query count 001 abc 20 001 bcd 30 001 ccd 100 002 ace 13 002 ahhd 30
我有一个 Dataframe df,我尝试在其中使用 groupby 和 nlargest ,但无法获得我想要的输出: Date Symbol Count 0 20
这个问题在这里已经有了答案: Pandas groupby nlargest sum (2 个答案) 关闭 6 年前。 我有一个这样的数据框: Index STNAME COUNTY COU
假设我有一个数字列表: my_list = [3, 8, 4, 2, 8, 1, 1, 2, 5, 1] 我现在想找到这个列表中 2 个最大数字的索引。所以,我尝试: import heapq max
我有每周的贸易导出时间序列数据,我需要制作堆积条形图来可视化贸易事件。为此,我汇总了所有行的每一列的总和数据,然后使用 nlargest() 选择前 n 列。但是,这样做可能不太准确,因为我在循环中为
因此,使用 .nlargest 我可以从数据框中获取前 N 个值。 现在如果我运行以下代码: df.nlargest(25, 'Change')['TopN']='TOP 25' 我希望将 TopN
因此,使用 .nlargest 我可以从数据框中获取前 N 个值。 现在如果我运行以下代码: df.nlargest(25, 'Change')['TopN']='TOP 25' 我希望将 TopN
我想检索与包含 n 个最大值的列集相对应的 n 个列名。然后,仅当值高于给定阈值时,这些名称才会保留在列表中。 举个例子,给定三列“Paul”、“Eric”、“Marc”,假设我最多需要 2 个列名,
我从下面的列表中构建了一个 DataFrame df_list_1 = [{"animal": "dog", "color": "red", "age": 4, "n_legs": 4,},
我是一名优秀的程序员,十分优秀!