示例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))

 

加油:一只阿木木


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM