数据框:
迎合 | 评分 |
---|---|
一 | 2.5 |
b | 4 |
c | 3 |
一 | 4 |
一 | 2.5 |
b | 4 |
我想要的:
迎合 | 评分 | 平均 |
---|---|---|
一 | 2.5 | 3.25 |
b | 4 | 3.5 |
c | 3 | 3 |
一 | 4 | 3.25 |
b | 2.5 | 3.5 |
b | 4 | 3.5 |
如何将cater索引转换为整数索引?
答案 0 :(得分:2)
您需要使用自己的分组版本自行加入您的数据框。这可以通过将 pd.merge()
与您的数据框用作左表变量并将 groupby 数据框用作右表变量来实现。
>>> df
cater rating
0 1 2.5
1 2 4.0
2 3 3.0
3 1 4.0
4 2 2.5
5 2 4.0
>>> df2 = df.groupby('cater', as_index=False).mean()
>>> df2
cater rating
0 1 3.25
1 2 3.50
2 3 3.00
>>> df3 = pd.merge(df, df2, on='cater', suffixes=('', '_average'))
>>> df3.assign(cater = df3['cater'].map({1:'a',2:'b',3:'c'}))
cater rating rating_average
0 a 2.5 3.25
1 a 4.0 3.25
2 b 4.0 3.50
3 b 2.5 3.50
4 b 4.0 3.50
5 c 3.0 3.00