作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 R data.table 中,使用 argmin 或 argmax 函数在一个聚合中聚合多个列是可能且容易的。例如对于 DT:
> DT = data.table(id=c(1,1,1,2,2,2,2,3,3,3), col1=c(1,3,5,2,5,3,6,3,67,7), col2=c(4,6,8,3,65,3,5,4,4,7), col3=c(34,64,53,5,6,2,4,6,4,67))
> DT
id col1 col2 col3
1: 1 1 4 34
2: 1 3 6 64
3: 1 5 8 53
4: 2 2 3 5
5: 2 5 65 6
6: 2 3 3 2
7: 2 6 5 4
8: 3 3 4 6
9: 3 67 4 4
10: 3 7 7 67
> DT_agg = DT[, .(agg1 = col1[which.max(col2)]
, agg2 = col2[which.min(col3)]
, agg3 = col1[which.max(col3)])
, by= id]
> DT_agg
id agg1 agg2 agg3
1: 1 5 4 3
2: 2 5 3 5
3: 3 7 4 7
DF =pd.DataFrame({'id':[1,1,1,2,2,2,2,3,3,3], 'col1':[1,3,5,2,5,3,6,3,67,7], 'col2':[4,6,8,3,65,3,5,4,4,7], 'col3':[34,64,53,5,6,2,4,6,4,67]})
DF
Out[70]:
id col1 col2 col3
0 1 1 4 34
1 1 3 6 64
2 1 5 8 53
3 2 2 3 5
4 2 5 65 6
5 2 3 3 2
6 2 6 5 4
7 3 3 4 6
8 3 67 4 4
9 3 7 7 67
最佳答案
你可以试试这个
DF.groupby('id').agg(agg1=('col1',lambda x:x[DF.loc[x.index,'col2'].idxmax()]),
agg2 = ('col2',lambda x:x[DF.loc[x.index,'col3'].idxmin()]),
agg3 = ('col1',lambda x:x[DF.loc[x.index,'col3'].idxmax()]))
agg1 agg2 agg3
id
1 5 4 3
2 5 3 5
3 7 4 7
关于python - 在 Pandas 的一个聚合中使用多个 idxmin() 和 idmax() 进行多重索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62295617/
所以我的数据集中有各种列,它们是整数和字符串的混合。为了删除重复项,我将行中的每一列转换为字符串,获取其长度,并将该长度添加为额外列: import pandas as pd import datet
我有一个 pandas 数据框,其中包含行的星期几和列的名称。数据框中的整数表示该人在该工作日进入商店的次数。它看起来像这样: names 'Martha' 'Johnny' 'Chl
在 R data.table 中,使用 argmin 或 argmax 函数在一个聚合中聚合多个列是可能且容易的。例如对于 DT: > DT = data.table(id=c(1,1,1,2,2,2
Pandas 版本:0.22.0 我的代码在 0.20 版本中工作 pvt = df.pivot_table(columns='period', values='qty', aggfunc='
我是一名优秀的程序员,十分优秀!