示例python 批量操作excel統計銷售榜品牌及銷售額

示例統計銷售榜品牌及銷售額

import pandas as pd
import numpy as np
import os

os.chdir('F:\\50mat\源數據1000張表格')

name = '戶外服裝&滑雪衣.xlsx'
df = pd.read_excel(name)
df.head()

 

打印結果

    日期	轉化率	訪客數	三級類目	客單價	品牌
0	2019-08	0.036466	837	滑雪衣	3887.646034	品牌-5
1	2019-08	0.006110	9951	滑雪衣	1890.920192	品牌-7
2	2019-08	0.008279	11067	滑雪衣	1001.541028	品牌-19
3	2019-08	0.003647	25296	滑雪衣	986.192182	品牌-17
4	2019-08	0.006012	5053	滑雪衣	2818.957816	品牌-14

 

df['日期'].unique()

打印結果

array(['2019-08', '2019-07', '2019-06', '2019-05', '2019-04', '2019-03',
       '2019-02', '2019-01', '2018-12', '2018-11', '2018-10', '2018-09'],
      dtype=object)

 

一:操作單表

銷售額

df['銷售額'] = df['訪客數'] * df['轉化率'] * df['客單價']

df.head()

 

打印結果


    日期	轉化率	訪客數	三級類目	客單價	品牌	銷售額
0	2019-08	0.036466	837	滑雪衣	3887.646034	品牌-5	118657.898127
1	2019-08	0.006110	9951	滑雪衣	1890.920192	品牌-7	114977.898920
2	2019-08	0.008279	11067	滑雪衣	1001.541028	品牌-19	91761.540049
3	2019-08	0.003647	25296	滑雪衣	986.192182	品牌-17	90969.935091
4	2019-08	0.006012	5053	滑雪衣	2818.957816	品牌-14	85634.834594

 

 

二:彙總銷售額

# 彙總銷售額

df_sum = df.groupby('品牌')['銷售額'].sum().reset_index()

df_sum.head()

 

打印結果

    品牌	銷售額
0	品牌-1	5.479539e+06
1	品牌-10	2.913271e+06
2	品牌-11	2.298716e+06
3	品牌-12	2.821199e+06
4	品牌-13	3.256508e+06

添加行業標籤

# 添加行業標籤
df_sum['行業'] = name.replace('.xlsx','')

df_sum.head()

 

打印結果

    品牌	銷售額	行業
0	品牌-1	5.479539e+06	戶外服裝&滑雪衣
1	品牌-10	2.913271e+06	戶外服裝&滑雪衣
2	品牌-11	2.298716e+06	戶外服裝&滑雪衣
3	品牌-12	2.821199e+06	戶外服裝&滑雪衣
4	品牌-13	3.256508e+06	戶外服裝&滑雪衣

 

三:操作所有表格

import time

start = time.time()

result = pd.DataFrame()

for name in os.listdir():
    df = pd.read_excel(name)
    df['銷售額'] = df['訪客數'] * df['轉化率'] * df['客單價']
    df_sum = df.groupby('品牌')['銷售額'].sum().reset_index()
    df_sum['行業標籤'] = name.replace('.xlsx','')

    result = pd.concat([result,df_sum])
    
final = result.groupby('品牌')['銷售額'].sum().reset_index().sort_values('銷售額', ascending = False)

end = time.time()

print('操作用時:{}s'.format(end-start))

 

操作用時:6.295360088348389s

# 將科學計算法,改爲兩位小數
pd.set_option('display.float_format', lambda x :'%.2f' % x)

print(final.head())
final.describe()

 

打印結果

     品牌           銷售額
15   品牌-5 1226223640.73
8   品牌-17 1195280571.60
2   品牌-11 1151829215.73
4   品牌-13 1150687029.66
3   品牌-12 1143519788.23

    銷售額
count	20.00
mean	1084854125.76
std	63774592.90
min	979272391.61
25%	1050719265.66
50%	1071804742.94
75%	1118990465.22
max	1226223640.73

七:數據分析模型

# 表格處理示例:銷售榜品牌及銷售額


import pandas as pd
import numpy as np
import os
import time
os.chdir('F:\\50mat\源數據1000張表格')

name = '戶外服裝&滑雪衣.xlsx'
df = pd.read_excel(name)

result = pd.DataFrame()

for name in os.listdir():
    df = pd.read_excel(name)
    df['銷售額'] = df['訪客數'] * df['轉化率'] * df['客單價']
    df_sum = df.groupby('品牌')['銷售額'].sum().reset_index()
    df_sum['行業標籤'] = name.replace('.xlsx','')

    result = pd.concat([result,df_sum])
    
final = result.groupby('品牌')['銷售額'].sum().reset_index().sort_values('銷售額', ascending = False)

# 將科學計算法,改爲兩位小數
pd.set_option('display.float_format', lambda x :'%.2f' % x)

print(final.head(10))

 

加油:一隻阿木木

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章