2.5 提取商品名称及数量

使用正则表达式从商品详情中提取商品名称及数量

t = data2['商品详情'].apply(lambda x: re.findall('([^,;xX]+) ?Xx', x))

将嵌套的列表展平并提取商品名称和数量

from tkinter import _flatten goods = t.apply(lambda x: list(_flatten(x))[::2]) numbers = t.apply(lambda x: list(_flatten(x))[1::2])

将商品名称和数量组成的两个Series合并成一个DataFrame

goods_data = pd.DataFrame({'goods': goods, 'numbers': numbers})

绘制销售量排行榜前20的商品条形图

plt.style.use('ggplot') plt.barh(range(20), num['购买数量'][:20]) plt.yticks(range(20), num.index[:20]) plt.ylabel('产品名称') plt.xlabel('销售量') plt.title('销售量排行榜(前二十)') plt.show()

3.1分析某一台设备不同时间的销售情况

选取设备编号为112866的数据

ind = data2['设备编号'] ==112866 data_112 = data2.loc[ind, :]

查看数据形状和列名

data_112.shape data_112.columns

某一台设备不同日期的销售情况

将下单时间转换为日期,并计算每日收入

data_112['date'] = data_112['下单时间'].dt.date data_112['income'] = data_112['总金额(元)'] - data_112['退款金额(元)']

按日期对收入进行分组求和,并按日期排序

num = data_112[['date', 'income']].groupby('date').sum().sort_index()

绘制每日收入折线图

plt.plot(num.index, num) plt.xticks(num.index[::8], num.index[::8], rotation=90) plt.show()

某一台设备不同星期的销售情况

将下单时间转换为星期,并计算每日收入

data_112['weekday'] = data_112['下单时间'].dt.weekday data_112['income'] = data_112['总金额(元)'] - data_112['退款金额(元)']

按星期对收入进行分组求和,并按星期排序

num = data_112[['weekday', 'income']].groupby('weekday').sum().sort_index()

绘制每星期收入折线图

plt.plot(num.index, num) plt.xticks(num.index, num.index, rotation=90) plt.show()

某一台设备不同月份不同星期的销售情况

将下单时间转换为月份和星期,并计算每日收入

data_112['month'] = data_112['下单时间'].dt.month num = data_112[['weekday', 'income', 'month']].groupby(['month', 'weekday']).sum()

将最内层的行索引还原成列索引

num = num.unstack()

筛选出需要绘制的月份数据

week = [0, 1, 2, 3, 4, 5, 6] num2 = num.loc[:, [('income', i) for i in week]]

绘制不同月份不同星期的收入折线图

for i in range(5, 10): plt.plot(week, num2.loc[i, :]) plt.legend([f'{i}月' for i in range(5, 10)]) plt.show()

3.3某一台设备不同时间的销售情况

将下单时间转换为小时,并计算每小时收入

data_112['hour'] = data_112[

给以下代码写注释# 25 提取商品名称及数量t = data2商品详情applylambda x refindall^;xX+ Xx0-912 xfrom tkinter import _flattengoods = tapplylambda x list_flattenx2numbers = tapplylambda x list_flattenx12goods_data = pdDataFra

原文地址: https://www.cveoy.top/t/topic/eKQt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录