我用Python分析1585家電商車厘子銷售數據,發現這些秘密

大家好,我是J哥~

眾所周知,中國是智利車厘子最主要的出口對象,占據了其95%的市場份額。

智利駐華大使館商務參贊娜塔曾表示:“2020-2021產季車厘子實現了豐收,預計今年有50萬噸左右的車厘子進入中國市場。”自2020年12月中旬開始,智利海運車厘子陸續到達中國,運輸成本較此前空運方式大幅下滑。這意味著,國內消費者將能以更低的價格買到車厘子。然而,近日國內已有多地進口車厘子核酸檢測結果為陽性,在這種情況下,你還敢大呼“車厘子自由”嗎?

01 數據獲取

本文利用Python采集了淘寶網1585個商家車厘子銷售數據,獲取到車厘子的商品名稱、商品價格、付款人數、店鋪名稱、發貨地址等字段。限于篇幅,爬蟲代碼僅給出主函數:

def main:

browser.get('https://www.taobao.com/')

page = search_product(key_word)print(page)

get_datapage_num =70

whileint(page) != page_num:

print("-"*100)

print("正在爬取第{}頁數據".format(page_num +1))

browser.get('https://s.taobao.com/search?q={}&s={}'.format(key_word, page_num*44))

browser.implicitly_wait(10)

get_datapage_num +=1

print("數據抓取完成")

if__name__ =='__main__':

key_word ="車厘子"

browser = webdriver.Chrome("./chromedriver")

main


02 數據處理

1.數據讀取并預覽

importpandasaspd

import numpyasnp

df = pd.read_csv('/菜J學Python/淘寶/車厘子.csv',header=None,

names=['商品名稱','商品價格','付款人數','店鋪名稱','發貨地址'])#添加字段名稱

df.sample(5)

2.查看數據信息

df.info

<class'pandas.core.frame.DataFrame'>

Int64Index:1595entries,0to1674

Datacolumns(total5columns):

#ColumnNon-CountDtype

----------------------------

0商品名稱1595non-object

1商品價格1595non-float64

2付款人數1595non-object

3店鋪名稱1595non-object

4發貨地址1585 non- object

dtypes:float64(1),object(4)

memoryusage:74.8+KB

發現數據存在以下幾個問題:

(1)發貨地址有缺失值

(2)付款人數需做提取

(3)發貨地址需做分割

(4)自定義索引并降序

3.數據清洗

#剔除缺失記錄

df.dropna(axis=0, how='any', inplace=True)

#從發貨地址字段中切分出省份和城市df["省份"] = df["發貨地址"].str.split(' ',expand=True)[0] #expand=True可以把用分割的內容直接分列

df["城市"] = df["發貨地址"].str.split(' ',expand=True)[1] #提取城市

df["城市"].fillna(df["省份"], inplace=True) #城市字段空值用省份非空值填充

#用正則表達式從付款人數中提取數字importre

df['數字'] = [re.findall(r'(\d+\.{0,1}\d*)', i)[0]foriindf['付款人數']] # 提取數值

df['數字'] = df['數字'].astype('float') # 轉化數值型

df['單位'] = [''.join(re.findall(r'(萬)', i))foriindf['付款人數']] # 提取單位(萬)

df['單位'] = df['單位'].apply(lambda x:10000ifx=='萬'else1)

df['付款人數'] = df['數字'] * df['單位'] # 計算付款人數

df.drop(['發貨地址','數字','單位'], axis=1, inplace=True) # 刪除多余的列

#按商品價格降序并重置索引df = df.sort_values(by="商品價格", axis=0, ascending=False) #降序

df = df.reset_index(drop=True) #重置索引

清洗后,數據預覽如下:


03 數據可視化

在以往的數據可視化中,常常以Python可視化庫作圖。而本文將嘗試用Excel進行車厘子數據可視化,因為在繪圖方面,Excel完全不輸Python!

1.國內哪些地方車厘子賣的最火?


利用省份和付款人數字段數據制作地圖,發現上海、浙江和廣東等地車厘子銷售量最大,西藏、青海和內蒙古銷量較小。沿海地區的經濟和人口優勢,成為車厘子主要的消費市場。


車厘子作為“明星水果”,不菲的價格常常讓打工人望而卻步。根據國家統計總局發布的最新數據,上海人均可支配收入居首,超過7萬元,自然更容易實現“車厘子自由”。北京雖然收入較高,但可能受疫情影響較大,車厘子銷量并不多。


2.車厘子到底有多貴?


由上圖可知,40%的車厘子價格在201-500元之間(淘寶掛牌價,非每斤價格),50元以下的車厘子占比不到4%,我表示有被貴到,你呢?如果你不嫌貴,那我幫你找到一家,可能符合你的需求,如下:


3.哪些店鋪賣的最好?


從銷量較高的淘寶店鋪來看,基本都是旗艦店,看來大家對店鋪品牌度關注較多。福瑞達旗艦店月銷量超6萬,名副其實車厘子銷冠,百果園緊隨其后。

4.在售的車厘子具有哪些特點?


為了了解車厘子的特點,對商品名稱字段做了文本分析,以果籃為背景繪制了車厘子詞云圖。主要的特點還是可以看出來的,新鮮、智利、當季、特大等詞都是水果店家推銷的點。至于孕婦提及頻率這么高,有點納悶,于是百度之:


那么問題來了,特殊時期,我們打工人能不能剁手買車厘子?截至目前,根據中國疾控中心公布的消息,目前并沒有發現因為食用進口冷鏈食品而感染新冠肺炎的病例。因此對于普通消費者來說,無須過于恐慌。當然如果你確實非常焦慮的話,疫情期間也可以多選擇國內生產的食品。

結語

1.本數據分析只做學習研究之用途,提供的結論僅供參考,還請獨立思考。

福利

入門Python的最強三件套《ThinkPython》、《簡明Python教程》、《Python進階》的PDF電子版已打包提供給大家,關注同名公號/Python小白集訓營/回復/電子書/即可自動領取。


?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容