[英]how can i achieve the below output (python)
Could you please help me reshape the data as below:您能否帮我重塑数据,如下所示:
input DF输入DF
import pandas as pd
df=pd.DataFrame({'1': [14561,'X store','Sales Quantity',1],
'2': [14561,'X store','Net Sales',2],
'3': [16534,'Y store','Sales Quantity',2],
'4': [16534,'Y store','Net Sales',1]})
I would like to achieve the below op我想实现以下操作
store_code store_name sales_total net_sales_total
14561 X store 1 2
16534 Y store 2 1
import numpy as np
df = df.transpose()
df.columns = ['store_code', 'store_name', 'sales', 'value']
df = df.pivot_table(index=['store_code','store_name'],
columns = 'sales',
values='value',
aggfunc = np.sum)
df.columns = ['net_sales_total', 'sales_total']
Output Output
net_sales_total sales_total
store_code store_name
14561 X store 2 1
16534 Y store 1 2
Just notice that store_code
and store_name
in this case are multi index
DataFrame's请注意,在这种情况下, store_code
和store_name
是multi index
DataFrame 的
df.unique and transpose df.unique 和转置
df=df.transpose()
for i in df.columns:
print(df[i].unique())
df = df.transpose()
print('store_code' + str(df[0].unique()))
print('store_name' + str(df[1].unique()))
print('sales_total' + str(df[2].unique()))
print('net_sales_total' + str(df[3].unique()))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.