python - Pandas:获取每个用户的最后一个值,其中包含其他列中的某个值
问题描述
我有一个如下的数据框:
user item
A 1
A 2
A 2
B 3
B 4
B 4
一般来说,我将如何返回这样的数据框:
user item
A 2
A 2
B 4
B 4
您在哪里为每个用户返回包含该用户最后一个项目值的行?
我在按用户分组后尝试了 .last() 方法,但它只会为 A 和 B 提供一个实例。
解决方案
在你的情况下使用transform
df[df.item==df.groupby('user').item.transform('last')]
Out[292]:
user item
1 A 2
2 A 2
4 B 4
5 B 4
推荐阅读
- python - 如何检查一个单词是否在作为字典键的列表中?
- python - python列表中的线程安全
- android - 更改 BottomNavigationView 单项图标和文本颜色
- macos - 在 macOS Catlina 上安装 reactnative for android
- c# - Unity 3D 中的移动平台
- tensorflow - Some folds in k-fold cross-validation containing 0 True/False positives
- ios - Remove Select Photos... option on PHPhotoLibrary.requestAuthorization
- javascript - 尝试添加动态输入和标签
- java - Local Tomcat not running on intellij
- javascript - 如何处理 Net Core 中的 net::ERR_INTERNET_DISCONNECTED 错误