pandas - 如何根据另一列值将一列分成多个?
问题描述
我需要根据 python/pyspark 中的另一列值将一列拆分为 4。我尝试根据代码过滤它并加入多个df。有没有更好的方法来做到这一点?
Code score ID
AAA 12 ABCD
BBB 14 ABCD
CCC 16 ABCD
DDD 67 ABCD
AAA 89 XYZ
BBB 65 XYZ
CCC 19 XYZ
DDD 56 XYZ
ID score_AAA score_BBB score_CCC score_DDD
ABCD 12 14 16 67
XYZ 89 65 19 56
解决方案
使用pivot
:
df = df.pivot(index='ID', columns='Code')
df.columns = df.columns.get_level_values(0) + '_' + df.columns.get_level_values(1)
结果:
score_AAA score_BBB score_CCC score_DDD
ID
ABCD 12 14 16 67
XYZ 89 65 19 56
推荐阅读
- javascript - 使用 chrome.runtime.sendMessage 传递具有功能的对象
- java - 线程示例 - 在等待()之前通知()?
- github - 如何使 GitHub Actions 工作流页面公开可见
- symfony4 - api 平台中基于会话的身份验证
- flutter - Flutter:容器中的文本居中而不是左对齐
- python - 如何在凸包中获得均匀分布的点?
- python - Django 迁移外键 django.db.utils.OperationalError: (1005, "Can't create table 'asp052mysqlpy.#sql-6ac_56' (errno: 150)") 错误
- python - 在 python 类中启动属性
- c# - ComboBox SelectedItem 属性更新我的 Datagrid 行中的所有其他组合框
- c# - 未安装microsoft office Excel时,c#读取xls文件不起作用?