python - 熊猫数据框填充模式
问题描述
我有以下数据框:
df = pd.DataFrame({'id': [1,2,3,4,1,1,4,4,3, 1, 3], 'name':['name1', 'name2', 'name2', 'name1', 'name2', 'name1', 'name1', 'name3', 'name3', 'name2', 'name2']})
id name
1 name1
2 name2
3 name2
4 name1
1 name2
1 name1
4 name1
4 name3
3 name3
1 name2
3 name2
我想用行的 id 的模式填充所有名称(如果有多个元素是模式,则填充任何人),最终的数据框将如下所示:
id name
1 name1
2 name2
3 name2
4 name1
1 name1
1 name1
4 name1
4 name1
3 name2
1 name1
3 name2
我想到了 groupby id 并获取模式,然后通过我似乎找不到模式聚合函数来合并数据帧。
解决方案
你可以这样做groupby().transform()
:
df['mode'] = df.groupby('id')['name'].transform(lambda x: x.mode()[0])
输出:
id name mode
0 1 name1 name1
1 2 name2 name2
2 3 name2 name2
3 4 name1 name1
4 1 name2 name1
5 1 name1 name1
6 4 name1 name1
7 4 name3 name1
8 3 name3 name2
9 1 name2 name1
10 3 name2 name2
推荐阅读
- python - 我的 django 梦幻足球项目。如何将其他用户的分数显示给每个用户?
- javascript - 从 api axios Vue.js 获取数据时出现问题“无效的道具:道具“项目”的类型检查失败。预期的数组,函数,得到对象”
- kotlin - 有没有更优雅的方法来检查字符串是否是 Kotlin 中的有效 Int?
- html - 使用包含的 Sass 动画混合
- python - 用水量追踪器无法添加数字
- android - Firebase - 如何在 android 应用中获取归因
- symfony - Doctrine - 与关联实体的验证
- reactjs - 有没有比 redux persist 更好的方法来为生产环境持久化 redux 状态数据
- python - 背包问题
- android - chekbox 总是检查 recyclerview 中的最后一项