- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 Dataframe df
,我尝试在其中使用 groupby
和 nlargest
,但无法获得我想要的输出:
Date Symbol Count
0 2013 Q2 AAAA 8
1 2013 Q2 BBBB 3
2 2013 Q2 CCCC 8
3 2013 Q2 DDDD 4
4 2013 Q2 EEEE 5
5 2013 Q3 AAAA 22
6 2013 Q3 BBBB 11
7 2013 Q3 CCCC 3
8 2013 Q3 DDDD 15
9 2013 Q3 EEEE 2
10 2013 Q3 FFFF 10
我想使用groupby
按日期
进行选择,然后按count
获取前2个符号
该日期,以便输出如下所示:
Date Symbol Count
0 2013 Q2 AAAA 8
2 2013 Q2 CCCC 8
5 2013 Q3 AAAA 22
8 2013 Q3 DDDD 15
但是当我尝试 df = df.groupby(['Date'])['Count'].nlargest(2)
时,输出看起来像
2013 Q2 0 8
2 8
2013 Q3 5 22
8 15
最佳答案
我们可以按Count
sort_values
,然后使用Groupby.head
获取每组的前2行:
dfn = df.sort_values('Count', ascending=False).groupby('Date').head(2).sort_index()
Date Symbol Count
0 2013 Q2 AAAA 8
2 2013 Q2 CCCC 8
5 2013 Q3 AAAA 22
8 2013 Q3 DDDD 15
<小时/>
将apply
与isin
结合使用
dfn = df[df.groupby('Date')['Count'].apply(lambda x: x.isin(x.nlargest(2)))]
Date Symbol Count
0 2013 Q2 AAAA 8
2 2013 Q2 CCCC 8
5 2013 Q3 AAAA 22
8 2013 Q3 DDDD 15
注意:如果前 2 个值包含多行,则此方法将返回多行。
关于python - 如何使用 Pandas Groupby 和 nlargest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59974201/
我正在尝试使用“最大”获取前“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,},
我是一名优秀的程序员,十分优秀!