示例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))
加油:一只阿木木
                    
                
                
            
        
浙公网安备 33010602011771号