python - Pandas-pivot 数据农场
问题描述
我有一个这样的数据框:
Account Product line_item_product_code cost
0 AU-LOG COMMON AWSCloudTrail 1
1 AU-STG prod1 AWSGlue 2
2 AU-PRD prod2 AWSQueueService 3
3 AU-MGT prod3 AWSSecretsManager 4
3 AU-LOG prod3 AWSSecretsManager 4
我想像这样可视化数据框:
Account Product AWSCloudTrail AWSGlue AWSQueueService AWSSecretsManager s3 KMS
AU-LOG COMMON 1 0 0 0 0 0
AU-LOG prod3 0 0 0 4 0 0
AU-STG prod1 0 2 0 0 0 0
AU-PRD prod2 0 0 3 0 0 0
AU-MGT prod3 0 0 0 4 0 0
如何使用熊猫实现这一目标?
试过这个,没有运气。
df1 = pd.pivot_table(
df, values='cost', index=[
'Account', 'Product'], columns='line_item_product_code',
fill_value=0)
解决方案
您可以使用.pivot()
,如下所示:
df1 = (df.pivot(['Account', 'Product'], 'line_item_product_code', 'cost')
.fillna(0, downcast='infer')
.rename_axis(columns=None)
).reset_index()
或使用.pivot_table()
,如下所示:
df1 = (df.pivot_table(index=['Account', 'Product'], columns='line_item_product_code', values='cost', fill_value=0)
.rename_axis(columns=None)
).reset_index()
结果:
print(df1)
Account Product AWSCloudTrail AWSGlue AWSQueueService AWSSecretsManager
0 AU-LOG COMMON 1 0 0 0
1 AU-LOG prod3 0 0 0 4
2 AU-MGT prod3 0 0 0 4
3 AU-PRD prod2 0 0 3 0
4 AU-STG prod1 0 2 0 0
推荐阅读
- python - 如何在迁移我的模型时修复迁移错误
- java - 是否可以创建从另一个子类扩展的子类?
- python-3.x - 将输入的密码与存储的密码进行比较(转换为 sha254)
- swift - 在图像按钮上着色 swift Xcode
- android - 无法在 Android Studio 3.3 中构建签名 APK
- laravel - 如何保护所见即所得编辑器免受 XSS 攻击?
- scala - 如何在 scala IntelliJ 中处理这些大数据?
- python - 如何在 python 中使用 urllib?
- r - R data.table 计算与先前的行依赖关系
- c# - 确定返回 Enumerable.Range() 的类型