详解一道「电商」数据分析笔试题
1. 需求分析
货品库存数据(去掉了其他无关信息)
excel
里先通过vlookup
匹配每个组成商品对应库存量,然后再按照组合商品进行透视分组计算库存量最小值即可。excel
透视表进行处理。不过,本文我们也会提供两种方式才进行处理,分别是python
和excel数据合并计算
。2. 计算过程
2.1. python计算过程
pandas
的merge
和transform
函数方法import pandas as pd
# 读取数据
df = pd.read_excel(r'案例数据.xlsx', sheet_name='组合商品')
df1 = pd.read_excel(r'案例数据.xlsx', sheet_name='总库存')
# 由于组合商品中存在空行,所以这里删除,并采用向上填充的方式填充组合商品字段的空值
temp = df.dropna(how='all').ffill()
temp.head()
除以N
的,这也是本案例的一个可能踩到的坑。temp['货品编号'] = temp['组成商品'].str.split('*',expand=True)[0]
# 注意货品数量字段类型转换为 数值类型
temp['货品数量'] = temp['组成商品'].str.split('*',expand=True)[1].fillna(1).astype('int')
temp.head()
merge
函数。# 货品库存预览
df1.sample(5)
temp = temp.merge(df1,how='left')
# 由于每个组合商品是多个商品按照一定数量组合的,所以实际库存量应该除以每个货品在组合里的数量
temp['库存量'] = temp['库存量']//temp['货品数量']
temp.head()
transform
,大家可以用别的试试哈。temp['库存'] = temp.groupby('组合商品')['库存量'].transform('min')
temp.head()
2.2. excel操作过程
=IF(B3="",A2,B3)
vlookup
获取每个组成商品的的库存量=ROUNDDOWN(IFERROR(E2/D2,E2),0)
excel
的操作技巧,这里用到的是数据->合并计算!!3. 总结
评论