python - Pandas Dataframe groupby 并按 max(key) 过滤
问题描述
td = [[10,'A'],[10, 'B'],[2, 'C']]
import pandas
df = pandas.DataFrame(td, columns=['col1','col2'])
df.groupby('col1')
所有,我如何通过 max(key) 获取组。在这种情况下 10 -> ['A','B']?
谢谢!
解决方案
一个通用的解决方案可以通过groupby
列表,然后使用sort_index
和iloc
访问器:
res = df.groupby('col1')['col2']\
.apply(list)\
.sort_index(ascending=False)
print(res.iloc[0])
['A', 'B']
推荐阅读
- android - 开始输入时如何从 EditText 获取值?
- php - 如何显示帖子的评论?
- r - 你可以“保存” dplyr 函数供以后使用吗?
- python - 根据列表中的某些项目查找字符串的长度
- reactjs - Redux ToolKit:是否可以在由 createAsyncThunk 创建的一个操作中调度来自同一切片的其他操作
- c++ - 具有引用成员的默认复制分配运算符?
- firebase - 如何使用我存储在数据库中的文件名从 Firebase 存储中获取图像?
- r - 更改 R Markdown 图形宽度
- r - 循环 rstudio 的 aes_string 中的图例
- oracle - 在 oracle 12c 中手动授予权限