python - 创建新列时遇到错误
问题描述
原始数据框:
df.head()
>
beer_beerid review_profilename review_overall
0 48215 stcules 3.0
1 52159 oline73 3.0
2 52159 alpinebryant 3.0
3 52159 rawthar 4.0
4 52159 RangerClegg 3.5
需要在此数据框中创建一个包含 beer_beeid 出现次数的新列。如果 beerid 52159 出现 4 次 - 那么该 beerid 的新列值应为 4。
使用以下代码:
df['beer_review_count'] = df.groupby('beer_beerid').transform('count')
它给出了以下错误
ValueError: Wrong number of items passed 2, placement implies 1
解决方案
这是解决方案。
df['beer_review_count'] = df.groupby('beer_beerid')['beer_beerid'].transform('count')
使用transform()可以正常工作
beer_beerid profilename overall beer_review_count
0 48215 stcules 3.0 1
1 52159 oline73 3.0 4
2 52159 alpinebryant 3.0 4
3 52159 rawthar 4.0 4
4 52159 RangerClegg 3.5 4
推荐阅读
- javascript - 按rowspan调整行数
- java - 如何修复 java.io.InvalidClassException:org.springframework.security.core.context.SecurityContextImpl
- mysql - Laravel&Livewire 仅从日期开始按年份过滤
- java - Kennesaw Java 预处理器到底是什么?
- spring-boot - 在 Spring Boot 应用程序中使用 Spring Integration 将文件下载到本地文件夹
- openshift - Red Hat Service Mesh:自定义标头转换为 x-b3-traceId 丢失
- javascript - 为什么这些白色接缝出现在 AFrame 中的网格上?
- selenium - 可以在 selenium 中处理 CSS 样式的条件吗?
- bootstrap-4 - BootStrap Table-如何在数据更新时立即停止 b-table 重新排序?
- ios - CarPlay 的 UI 测试