【发布时间】:2023-03-24 22:25:01
【问题描述】:
例如,这里是一个DataFrame:
df = pd.DataFrame({'year': ['2019', '2019', '2019', '2019', '2020', '2020', '2020'],
'key': ['a', 'a', 'b', 'c', 'd', 'e', 'f'],
'val': [3, 4, 3, 5, 6, 1, 2]})
看起来像
year key val
0 2019 a 3
1 2019 a 4
2 2019 b 3
3 2019 c 5
4 2020 d 6
5 2020 e 1
6 2020 f 2
我想要得到的是
year key mean_except_current_key
2019 a 4
b 4
c 3.33
2020 d 1.5
e 4
f 3.5
也就是说,将df 按year 和key 分组,mean_except_current_key 定义为val 与year 的平均值,除了与当前行具有相同key 的所有行。
我希望我已经把这个问题说清楚了。但我想不通。我找到了this question。不过和我的不一样。
感谢您的帮助。
【问题讨论】:
-
您能否通过一个简单的例子详细说明如何计算
mean_except_current_key。只需说明您如何获得 2019 年的4和密钥a -
@Ch3steR 它是 2019 年
val和 2019 年关键b(即 3)和val以及关键c(即 5)的平均值。 -
是的,明白了。明白了。
标签: python pandas pandas-groupby