我有一个样本数据如下所示
| 生产日期|成本中心密钥|AEMainCategory关键字|AE损失幅度|
| - -|- -|- -|- -|
| 2022年1月1日|小行星100030| OAE|小行星84.94871412|
| 2022年1月1日|小行星100030|夸大| -0.010897228 |
| 2022年1月1日|小行星100030| UL认证|15.06218311一个|
| 2022年1月1日|小行星100040| OAE| 49.99603575美元|
| 2022年1月1日|小行星100040| UL认证|50.00001425美元|
| 2022年1月1日|小行星100040|未申报|0.003950003单位|
| 2022年1月2日|小行星100030| OAE|小行星71.58823183|
| 2022年1月2日|小行星100030| UL认证|28.36946736美元|
| 2022年1月2日|小行星100030|未申报|0.042300804单位|
| 2022年1月2日|小行星100040| OAE| 49.99702425美元|
| 2022年1月2日|小行星100040| UL认证|50.00002575美元|
| 2022年1月2日|小行星100040|未申报|0.002950002单位|
我需要转置AeMaincategoryKey列,并需要以下形式的输出:
生产日期和成本中心关键字的组合应该有1行
| 生产日期|成本中心密钥|OAE|夸大|UL认证|未申报|
| - -|- -|- -|- -|- -|- -|
| 2022年1月1日|小行星100030|小行星84.94871412| -0.010897228 |15.0621831美元|第0页|
| 2022年1月1日|小行星100040| 49.99603575美元|第0页|50.0000143美元|0.00395单位|
| 2022年1月2日|小行星100030|小行星71.58823183|第0页|28.3694674美元|0.0423008单位|
| 2022年1月2日|小行星100040| 49.99702425美元|第0页|50.0000258美元|0.00295单位|
我正在写下面的代码,但它没有产生所需的输出。
from pyspark.sql import SparkSessionimport pandas as pd
##creating a Spark
Dataframespark_df = sqlContext.sql("select * from hive_metastore.asseteffectiveness.asset_effectiveness_maincat where productiondate in ('2022-01-01','2022-01-02') and costcenterkey in (100030,100040)")
##Converting to Spark Dataframepandas_df = spark_df.toPandas()
pandas_df.pivot_table(index=['ProductionDate','CostCenterKey'], columns=['AEMainCategoryKey'], values='AELossMagnitude', fill_value=0)
display(pandas_df)
1条答案
按热度按时间eulz3vhy1#
从原始格式
我在代码中重新创建了它:
我有两个版本。
第1版
版本1的结果
第二版
版本2的结果