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

點擊上方“Python爬蟲與數據挖掘”,進行關注

回覆“書籍”即可獲贈Python從入門到進階共10本電子書

荷笠帶斜陽,青山獨歸遠。

圖片來源:互聯網


大家好,我是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_data()
    page_num = 70
    while int(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_data()
        page_num += 1
    print("數據抓取完成")

if __name__ == '__main__':
    key_word = "車釐子"
    browser = webdriver.Chrome("./chromedriver")
    main()




02

數據處理


1.數據讀取並預覽


import pandas as pd
import numpy as np
df = pd.read_csv('/菜J學Python/淘寶/車釐子.csv',header=None,
                 names=['商品名稱','商品價格','付款人數','店鋪名稱','發貨地址']) #添加字段名稱

df.sample(5



2.查看數據信息


df.info()


<class 'pandas.core.frame.DataFrame'>
Int64Index:
 1595 entries, 0 to 1674
Data columns (total 5 columns):
 #   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  
 0   商品名稱    1595 non-null   object 
 1   商品價格    1595 non-null   float64
 2   付款人數    1595 non-null   object 
 3   店鋪名稱    1595 non-null   object 
 4   發貨地址    1585 non-null   object 
dtypes: float64(1), object(4)
memory usage: 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#城市字段空值用省份非空值填充

#用正則表達式從付款人數中提取數字
import re
df['數字'] = [re.findall(r'(\d+\.{0,1}\d*)', i)[0for i in df['付款人數']]  # 提取數值
df['數字'] = df['數字'].astype('float')  # 轉化數值型
df['單位'] = [''.join(re.findall(r'(萬)', i)) for i in df['付款人數']]  # 提取單位(萬)
df['單位'] = df['單位'].apply(lambda x:10000 if x=='萬' else 1)
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.本數據分析只做學習研究之用途,提供的結論僅供參考,還請獨立思考。


------------------- End -------------------

往期精彩文章推薦:

歡迎大家點贊,留言,轉發,轉載,感謝大家的相伴與支持

想加入Python學習羣請在後臺回覆【入羣

萬水千山總是情,點個【在看】行不行

/今日留言主題/

隨便說一兩句吧~~

本文分享自微信公衆號 - Python爬蟲與數據挖掘(crawler_python)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章