python - 使用 Pandas join 填充列
问题描述
我有两个大致看起来像的 DataFrame
(ID) (Category) (Value1) (Value2)
111 1 5 7
112 1 3 8
113 2 6 9
114 3 2 6
和
(Category) (Value1 Average for Category) (Value2 Average for Category)
1 4 5
2 6 7
3 9 2
最终,我想加入两个 DataFrame,以便每个 ID 可以在其所在行中具有其类别的平均值。我很难找到加入/合并/等的正确方法。这将通过检查来自其他 DateFrame 的类别来填充列。有谁知道从哪里开始?
解决方案
只需:
df1.groupby(['ID', 'Category']).transform(func='mean')
在第一个数据帧上获取所需的数据帧。
推荐阅读
- python - MapReduce Python,似乎无法将标准传送到文本文件
- regex - 如何提取仅匹配该行中第一次出现的特定字符的每一行?
- vue.js - Vue-bootstrap 嵌套复选框
- swift - Swift 4 KeyPath 处理不同类型的对象
- unit-testing - 监视 Golang 中的方法
- excel - VBA:收到运行时错误“13”:类型不匹配
- opencv - 我可以使用 OpenCV 分析视频中人脸在屏幕中央的长度吗?
- html - 在选择表单中制作第一个选项的颜色,以及可点击的字体真棒
- php - 从 XML 文件接收特定值
- c++ - 如何在抽象类中使用流