gpt4 book ai didi

python - 用条件列手段填充单元格

转载 作者:太空宇宙 更新时间:2023-11-04 09:06:15 24 4
gpt4 key购买 nike

考虑以下 DataFrame:

df2 = pd.DataFrame({
'VAR_1' : [1,1,1,3,3],
'GROUP': [1,1,1,2,2],
})

我的目标是创建一个单独的列“GROUP_MEAN”,其中包含“VAR_1”列的算​​术平均值。

但是 - 它应该始终考虑“GROUP”中的行值。

   GROUP  VAR_1            GROUP_MEAN
0 1 1 Mean Value GROUP = 1
1 1 1 Mean Value GROUP = 1
2 1 1 Mean Value GROUP = 1
3 2 3 Mean Value GROUP = 2
4 2 3 Mean Value GROUP = 2

我可以很容易地获得总体均值:

df2['GROUP_MEAN'] = df2['VAR_1'].mean()

我如何着手将此设置为另一个列值的条件?

最佳答案

我认为这是transform的完美用例:

>>> df2 = pd.DataFrame({'VAR_1' : [1,2,3,4,5], 'GROUP': [1,1,1,2,2]})
>>> df2["GROUP_MEAN"] = df2.groupby('GROUP')['VAR_1'].transform('mean')
>>> df2
GROUP VAR_1 GROUP_MEAN
0 1 1 2.0
1 1 2 2.0
2 1 3 2.0
3 2 4 4.5
4 2 5 4.5

[5 rows x 3 columns]

通常,当您想要在组的所有条目中广播结果时,您会使用transform

关于python - 用条件列手段填充单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20547955/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com