詳解一道「電商」數(shù)據(jù)分析筆試題

1. 需求分析
貨品庫存數(shù)據(jù)(去掉了其他無關(guān)信息)


excel里先通過vlookup匹配每個(gè)組成商品對(duì)應(yīng)庫存量,然后再按照組合商品進(jìn)行透視分組計(jì)算庫存量最小值即可。excel透視表進(jìn)行處理。不過,本文我們也會(huì)提供兩種方式才進(jìn)行處理,分別是python和excel數(shù)據(jù)合并計(jì)算。
2. 計(jì)算過程
2.1. python計(jì)算過程
pandas的merge和transform函數(shù)方法import?pandas?as?pd
#?讀取數(shù)據(jù)
df?=?pd.read_excel(r'案例數(shù)據(jù).xlsx',?sheet_name='組合商品')
df1?=?pd.read_excel(r'案例數(shù)據(jù).xlsx',?sheet_name='總庫存')
#?由于組合商品中存在空行,所以這里刪除,并采用向上填充的方式填充組合商品字段的空值
temp?=?df.dropna(how='all').ffill()
temp.head()

除以N的,這也是本案例的一個(gè)可能踩到的坑。
temp['貨品編號(hào)']?=?temp['組成商品'].str.split('*',expand=True)[0]
#?注意貨品數(shù)量字段類型轉(zhuǎn)換為?數(shù)值類型
temp['貨品數(shù)量']?=?temp['組成商品'].str.split('*',expand=True)[1].fillna(1).astype('int')
temp.head()

merge函數(shù)。#?貨品庫存預(yù)覽
df1.sample(5)

temp?=?temp.merge(df1,how='left')
#?由于每個(gè)組合商品是多個(gè)商品按照一定數(shù)量組合的,所以實(shí)際庫存量應(yīng)該除以每個(gè)貨品在組合里的數(shù)量
temp['庫存量']?=?temp['庫存量']//temp['貨品數(shù)量']
temp.head()

transform,大家可以用別的試試哈。temp['庫存']?=?temp.groupby('組合商品')['庫存量'].transform('min')
temp.head()

2.2. excel操作過程
=IF(B3="",A2,B3)


vlookup獲取每個(gè)組成商品的的庫存量
=ROUNDDOWN(IFERROR(E2/D2,E2),0)




excel的操作技巧,這里用到的是數(shù)據(jù)->合并計(jì)算!!
3. 總結(jié)





評(píng)論
圖片
表情
