Python分析1585家電商車(chē)?yán)遄訑?shù)據(jù):上海率先實(shí)現(xiàn)“車(chē)?yán)遄幼杂伞?,銷(xiāo)量超北京近50倍

大數(shù)據(jù)文摘授權(quán)轉(zhuǎn)載自菜J學(xué)Python
作者:J哥
眾所周知,中國(guó)是智利車(chē)?yán)遄幼钪饕某隹趯?duì)象,占據(jù)了其95%的市場(chǎng)份額。
智利駐華大使館商務(wù)參贊娜塔曾表示:“2020-2021產(chǎn)季車(chē)?yán)遄訉?shí)現(xiàn)了豐收,預(yù)計(jì)今年有50萬(wàn)噸左右的車(chē)?yán)遄舆M(jìn)入中國(guó)市場(chǎng)?!弊?020年12月中旬開(kāi)始,智利海運(yùn)車(chē)?yán)遄雨懤m(xù)到達(dá)中國(guó),運(yùn)輸成本較此前空運(yùn)方式大幅下滑。
這意味著,國(guó)內(nèi)消費(fèi)者將能以更低的價(jià)格買(mǎi)到車(chē)?yán)遄?。然而,近日?guó)內(nèi)已有多地進(jìn)口車(chē)?yán)遄雍怂釞z測(cè)結(jié)果為陽(yáng)性,在這種情況下,你還敢大呼“車(chē)?yán)遄幼杂伞眴幔?/span>
數(shù)據(jù)獲取
本文利用Python采集了淘寶網(wǎng)1585個(gè)商家車(chē)?yán)遄愉N(xiāo)售數(shù)據(jù),獲取到車(chē)?yán)遄拥纳唐访Q(chēng)、商品價(jià)格、付款人數(shù)、店鋪名稱(chēng)、發(fā)貨地址等字段。限于篇幅,爬蟲(chóng)代碼僅給出主函數(shù):
def main():browser.get('https://www.taobao.com/')page = search_product(key_word)print(page)get_data()page_num = 70while int(page) != page_num:print("-" * 100)print("正在爬取第{}頁(yè)數(shù)據(jù)".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 += 1print("數(shù)據(jù)抓取完成")if __name__ == '__main__':key_word = "車(chē)?yán)遄?browser = webdriver.Chrome("./chromedriver")main()
數(shù)據(jù)處理
import pandas as pdimport numpy as npdf = pd.read_csv('/菜J學(xué)Python/淘寶/車(chē)?yán)遄?csv',header=None,names=['商品名稱(chēng)','商品價(jià)格','付款人數(shù)','店鋪名稱(chēng)','發(fā)貨地址']) #添加字段名稱(chēng)df.sample(5)

查看數(shù)據(jù)信息
df.info()Int64Index: 1595 entries, 0 to 1674Data columns (total 5 columns):# Column Non-Null Count Dtype--- ------ -------------- -----0 商品名稱(chēng) 1595 non-null object1 商品價(jià)格 1595 non-null float642 付款人數(shù) 1595 non-null object3 店鋪名稱(chēng) 1595 non-null object4 發(fā)貨地址 1585 non-null objectdtypes: float64(1), object(4)memory usage: 74.8+ KB
發(fā)現(xiàn)數(shù)據(jù)存在以下幾個(gè)問(wèn)題:
(1)發(fā)貨地址有缺失值
(2)付款人數(shù)需做提取
(3)發(fā)貨地址需做分割
(4)自定義索引并降序
數(shù)據(jù)清洗
#剔除缺失記錄df.dropna(axis=0, how='any', inplace=True)#從發(fā)貨地址字段中切分出省份和城市df["省份"] = df["發(fā)貨地址"].str.split(' ',expand=True)[0] #expand=True可以把用分割的內(nèi)容直接分列df["城市"] = df["發(fā)貨地址"].str.split(' ',expand=True)[1] #提取城市df["城市"].fillna(df["省份"], inplace=True) #城市字段空值用省份非空值填充#用正則表達(dá)式從付款人數(shù)中提取數(shù)字import redf['數(shù)字'] = [re.findall(r'(\d+\.{0,1}\d*)', i)[0] for i in df['付款人數(shù)']] # 提取數(shù)值df['數(shù)字'] = df['數(shù)字'].astype('float') # 轉(zhuǎn)化數(shù)值型df['單位'] = [''.join(re.findall(r'(萬(wàn))', i)) for i in df['付款人數(shù)']] # 提取單位(萬(wàn))df['單位'] = df['單位'].apply(lambda x:10000 if x=='萬(wàn)' else 1)df['付款人數(shù)'] = df['數(shù)字'] * df['單位'] # 計(jì)算付款人數(shù)df.drop(['發(fā)貨地址', '數(shù)字', '單位'], axis=1, inplace=True) # 刪除多余的列#按商品價(jià)格降序并重置索引df = df.sort_values(by="商品價(jià)格", axis=0, ascending=False) #降序df = df.reset_index(drop=True) #重置索引
清洗后,數(shù)據(jù)預(yù)覽如下:

數(shù)據(jù)可視化
在以往的數(shù)據(jù)可視化中,常常以Python可視化庫(kù)作圖。而本文將嘗試用Excel進(jìn)行車(chē)?yán)遄訑?shù)據(jù)可視化,因?yàn)樵诶L圖方面,Excel完全不輸Python!
國(guó)內(nèi)哪些地方車(chē)?yán)遄淤u(mài)的最火?

利用省份和付款人數(shù)字段數(shù)據(jù)制作地圖,發(fā)現(xiàn)上海、浙江和廣東等地車(chē)?yán)遄愉N(xiāo)售量最大,西藏、青海和內(nèi)蒙古銷(xiāo)量較小。沿海地區(qū)的經(jīng)濟(jì)和人口優(yōu)勢(shì),成為車(chē)?yán)遄又饕南M(fèi)市場(chǎng)。

車(chē)?yán)遄幼鳛椤懊餍撬保环频膬r(jià)格常常讓打工人望而卻步。根據(jù)國(guó)家統(tǒng)計(jì)總局發(fā)布的最新數(shù)據(jù),上海人均可支配收入居首,超過(guò)7萬(wàn)元,自然更容易實(shí)現(xiàn)“車(chē)?yán)遄幼杂伞?。北京雖然收入較高,但可能受疫情影響較大,車(chē)?yán)遄愉N(xiāo)量并不多。

車(chē)?yán)遄拥降子卸噘F?

由上圖可知,40%的車(chē)?yán)遄觾r(jià)格在201-500元之間(淘寶掛牌價(jià),非每斤價(jià)格),50元以下的車(chē)?yán)遄诱急炔坏?%,我表示有被貴到,你呢?如果你不嫌貴,那我?guī)湍阏业揭患?,可能符合你的需求,如下?/span>

哪些店鋪賣(mài)的最好?

從銷(xiāo)量較高的淘寶店鋪來(lái)看,基本都是旗艦店,看來(lái)大家對(duì)店鋪品牌度關(guān)注較多。福瑞達(dá)旗艦店月銷(xiāo)量超6萬(wàn),名副其實(shí)車(chē)?yán)遄愉N(xiāo)冠,百果園緊隨其后。
在售的車(chē)?yán)遄泳哂心男┨攸c(diǎn)?

為了了解車(chē)?yán)遄拥奶攸c(diǎn),對(duì)商品名稱(chēng)字段做了文本分析,以果籃為背景繪制了車(chē)?yán)遄釉~云圖。主要的特點(diǎn)還是可以看出來(lái)的,新鮮、智利、當(dāng)季、特大等詞都是水果店家推銷(xiāo)的點(diǎn)。至于孕婦提及頻率這么高,有點(diǎn)納悶,于是百度之:

那么問(wèn)題來(lái)了,特殊時(shí)期,我們打工人能不能剁手買(mǎi)車(chē)?yán)遄??截至目前,根?jù)中國(guó)疾控中心公布的消息,目前并沒(méi)有發(fā)現(xiàn)因?yàn)槭秤眠M(jìn)口冷鏈?zhǔn)称范腥拘鹿诜窝椎牟±R虼藢?duì)于普通消費(fèi)者來(lái)說(shuō),無(wú)須過(guò)于恐慌。當(dāng)然如果你確實(shí)非常焦慮的話,疫情期間也可以多選擇國(guó)內(nèi)生產(chǎn)的食品。
戀習(xí)Python 關(guān)注戀習(xí)Python,Python都好練 好文章,我在看??
