gpt4 book ai didi

python - 在数据框中创建以其他列为条件的列

转载 作者:太空宇宙 更新时间:2023-11-03 14:37:04 25 4
gpt4 key购买 nike

我正在尝试创建一个新列,该新列以另一列中的值为条件,取另一列中值的平均值。

pd.DataFrame({"A":[1, 2, 1, 2],
"B":[4, 6, 8, 12]

我想创建一个新列“C”,

pd.DataFrame({"A":[1, 2, 1, 2, 3],
"B":[4, 6, 8, 12, 4],
"C":[6,9,6,9,4]}

如果不清楚,我想在 A 列中的值相同时输出 B 列中的值的平均值。因此,C = (4 + 6 + ...)/n,其中 A == 1 且 C = (6 + 8 + ... )/n,其中 A == 2,依此类推...

我也很难想出伪代码。除了代码解决方案之外,任何逻辑解释都将受到赞赏。

最佳答案

这是一个 transform :

In [11]: df
Out[11]:
A B
0 1 4
1 2 6
2 1 8
3 2 12
4 3 4

In [12]: df.groupby("A")["B"].transform('mean')
Out[12]:
0 6
1 9
2 6
3 9
4 4
Name: B, dtype: int64

In [13]: df["C"] = df.groupby("A")["B"].transform('mean')

另请参阅 group by docs .

关于python - 在数据框中创建以其他列为条件的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46857099/

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