- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
努力将 .nlargest() 应用于我的 groupedby 数据,以便仅显示每个索引的总收入最大的 10 个 [0]
Groupedby 数据如下所示:
当我运行时:
grp_data.n_largest(10,'GrossRevenue_GBP')
似乎对我不起作用,完整的代码片段如下:
tmean = lambda x :stats.trim_mean(x, 0.1)
data = data.loc[(data['YYYY'] == 2016)&(data['New_category_ID'] != 0)]
grp_data = data.groupby(['New_category','CDI_CUS_NM'])['GrossRevenue_GBP',
'OrderCount',
'% Rev',
'MOVC_GBP',
'Average order size']
.aggregate({'GrossRevenue_GBP':np.sum, 'OrderCount':np.sum,'% Rev': np.sum,'MOVC_GBP': tmean ,'Average order size': tmean })
.nlargest(10,'GrossRevenue_GBP')
grp_data['Country'] = 'EU'
key1 = grp_data.index.labels[0]
key2 = grp_data['GrossRevenue_GBP'].rank(ascending=False)
sorter = np.lexsort((key2, key1))
grp_data = grp_data.take(sorter)
grp_data = grp_data[['% Rev','GrossRevenue_GBP', 'MOVC_GBP','Average order size','OrderCount','Country']]
非常感谢一些帮助。
谢谢,
最佳答案
我认为您首先需要 groupby
Multiindex 级别并使用 nlargest
应用函数:
grp_data = data.groupby(['New_category','CDI_CUS_NM'])
.aggregate({'GrossRevenue_GBP':np.sum,
'OrderCount':np.sum,
'% Rev': np.sum,
'MOVC_GBP': tmean ,
'Average order size': tmean })
df = grp_data.groupby('New_category')
.apply(lambda x: x.nlargest(1,'GrossRevenue_GBP'))
.reset_index(level=0, drop=True)
关于python - nlargest on groupby 具有多索引和多个聚合列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45693185/
我正在尝试使用“最大”获取前“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,},
我是一名优秀的程序员,十分优秀!