gpt4 book ai didi

python - 如何获得 Pandas 切割分类列的平均值

转载 作者:行者123 更新时间:2023-12-01 11:50:19 29 4
gpt4 key购买 nike

我使用 pandas cut 来分箱连续值。我想知道如何获得每个垃圾箱的平均值。

移动电源

import numpy as np
import pandas as pd

np.random.seed(100)
df = pd.DataFrame({'a': np.random.randint(1,10,10)})
df['bins_a'] = pd.cut(df['a'],4)

print(df)
a bins_a
0 9 (7.0, 9.0]
1 9 (7.0, 9.0]
2 4 (3.0, 5.0]
3 8 (7.0, 9.0]
4 8 (7.0, 9.0]
5 1 (0.992, 3.0]
6 5 (3.0, 5.0]
7 3 (0.992, 3.0]
8 6 (5.0, 7.0]
9 3 (0.992, 3.0]

我试过了:
df['bins_a_mean'] = df['bins_a'].mean()

But this fails.

如何获得每个区间的均值?

最佳答案

试试这个:

df['bins_a_mean'] = df.groupby('bins_a')['a'].transform('mean')

print(df)
a bins_a bins_a_mean
0 9 (7.0, 9.0] 8.500000
1 9 (7.0, 9.0] 8.500000
2 4 (3.0, 5.0] 4.500000
3 8 (7.0, 9.0] 8.500000
4 8 (7.0, 9.0] 8.500000
5 1 (0.992, 3.0] 2.333333
6 5 (3.0, 5.0] 4.500000
7 3 (0.992, 3.0] 2.333333
8 6 (5.0, 7.0] 6.000000
9 3 (0.992, 3.0] 2.333333

关于python - 如何获得 Pandas 切割分类列的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59203188/

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