python - 我如何将字符串索引转换为整数索引
问题描述
数据框:
迎合 | 评分 |
---|---|
一个 | 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 |
如何将满足索引转换为整数索引?
解决方案
您需要使用自己的分组版本自行加入您的数据框。这可以通过使用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
推荐阅读
- javascript - WebAssembly 新手问题:UnhandledPromiseRejectionWarning: ReferenceError: Cannot access 'obj' before initialization
- kotlin - 在 CircleCI 上运行 Gradle 测试时出现“未找到给定包含的测试”错误
- javascript - 可访问性 Ionic 4 路由焦点位于页面底部
- javascript - 如何在 react-native Flatlist 中管理弹出窗口的动态显示
- javascript - 如何将 webpack 添加到我的 slackbot 项目中?
- r - 在相同数据上获得不同的 cor() 输出?
- azure-data-factory - AZURE DATA FACTORY - 我可以从 CopyData 任务中或通过使用输出设置变量吗?
- python - 如何创建一个通用的 bash shell 来运行 PATH 中的任何 python?
- ios - 使用 CocoaPod 依赖项发布 Swift 包
- apache - 在 Xampp apache 中找不到错误脚本“/opt/lampp/htdocs/index.php”或无法统计