一次讓人臉紅心跳的python數據分析

一次讓人臉紅心跳的python數據分析數據分析那些事BlockedUnblockFollowFollowingApr 25此文是《10周入門資料分析》系列第12篇想瞭解學習路線,可以先閱讀“ 學習計畫 | 10周入門資料分析 ”。前段時間,看到某企業對資料分析師的招聘要求有一條:分析客戶人群的購買習慣,並透過客戶購買行為做出相關資料分析。好專案,正好爬蟲比較熱門,讓大家練手Python(工作中或多或少能用到)。所以想把python專題提前來講,稍微改變了一下學習路綫~決定後,恰巧碰上亞馬遜推出中國市場的話題,靈感一現:哎要不研究亞馬遜上Top100的細分品類 — — 女式內衣!!!的銷售情況吧??馬上action!雖然這個話題,有點尷尬~分析分為三步:資料獲取、資料清理、視覺化分析第一步,採集資料。沒有資料怎麼辦,用萬能的Python爬嘛。爬取商品排名和詳情頁連結,需要的欄位為:排名、商品名、詳情頁連結。爬取商品詳情,需要的資訊為:店家:也就是競爭對手。分析其爆品情況,保留店家連結,後續可針對性挖掘分析;價格:分析爆品價格區間,對商品定價有幫助;上架時間:什麼時候上的?爆了多久;星級、評論數、評論標籤、所有評論連結:爬取評論內容,來分析爆品的優劣勢;尺寸、顏色:嗯哼?也是非常有價值的參考資料;圖片連結:難道你不想看看商品長啥樣嗎?第三步,資料轉化為視覺化圖表,並做分析。是不是迫不及待想要看過程了,來吧~如何爬取內衣資料Python爬資料很簡單,我個人總結大致就 3點:請求數據進行資料處理寫數據第一點 請求的資料會有幾種可能:1、很簡單的html頁面,就直接requests就可以請求成功;2、js渲染的頁面 ,這種頁面超多,requests請求一堆js資料;3、需要登錄才能獲取,至今登錄我都是用的cookie 請求登錄,但應該有更好的辦法;4、json數據;第二點 資料處理會有幾種可能:1、請求的資料是簡單的html結構頁面 — — 直接BS4解析就好了2、請求的資料是json — — 導入json模組進行解析3、請求的資料是簡單的js渲染的html頁面遇到這種頁面通過抓包或者簡單的在網站上審查請求,然後找的你想要的那部分資料,如果是js渲染的html,其實就是js拼寫的html,只要把其他無用的資料匹配掉用正則找到剩下想要的html文本就好了 。然後BS4解析。第三點 寫資料open方法進行檔打開 裡面的參數進行檔案格式設置,讀寫檔、編碼格式操作with open(“XXX.

xxx”,”a”,encoding=”utf-8") as f : f.

write(‘’’寫入的資料’’’)檔案格式我用過的就是txt、csv 、xml 大部分文本格式都支援的。a — 是創建檔 每次寫都是重新創建w — 是追加a — 是讀數據encoding=”utf-8"這句話 不加encoding= 在windows系統下會報編碼錯誤,linux不會。然後就是資料量太大,寫入到資料庫資料庫就用sqlite,記得引入模組 import sqlite3,就是創建資料表。好了,不囉嗦,開始爬資料。1、爬取商品排名和詳情頁連結需要爬取的具體欄位:排名(Rank),商品名(item_name),商品詳情頁連結(item_link)、商品圖片連結(img_src)。2、在商品詳情頁爬取更多商品資訊店家名、店家連結、商品名、價格星級、評論標籤核心:構建函數來獲取單個商品的詳細資訊;利用for迴圈,遍歷商品詳情頁連結清單,來獲取每個商品的詳細資訊3、爬取評論評論內容,星級核心:從上一步的csv文件中,讀取Rank , item_name , reviews , reviews_link欄位構建函數讀取每個商品的所有評論利用for迴圈,獲取所有商品的所有評論存儲到資料庫和csv檔中4、爬取size和color數據和第三步基本一樣,代碼基本一樣,主要在於要確認每頁評論的size&color個數。數據清洗和預處理1、讀取、清洗數據從csv檔讀取100個商品的資料,篩選出所需要的欄位,進行資料清洗。這裡注意,部分讀取的資料,看似是數值,實際是字元,因此需要進行類型轉換(如price拆分後,還需要轉為float型)需要參與數值計算的NaN,使用平均值進行替換。2、以商家維度處理資料獲取所需的資料:商家的星級、評論數總和、評論數均值、最低價均值、最高價均值、價格均值、商品數量、占比。針對星級、評論數均值、價格均值、商品數量做標準化處理,並計算加權分。分析:歪果(外國)情趣內衣哪家強1、不同商家的星級排名平均星級達4.

15分,高於平均分的商家超過一半(17/32)Top1的LALAVAVA高達4.

9分,緊隨其後也有5家達到4.

5分。倒數第一N-pearI只有3.

2分讓我看看LALAVAVA長什麼樣。亞馬遜上的商品,看上去就是普通泳衣,米國人還是很保守的嘛~但評分高真的就說明產品好嗎?不如來看看評論數吧。②不同商家的平均評論數排名首先平均評論數只有193條,而且高於平均線的只有不到三成(12/32),想想淘寶動輒上萬,我們的人口優勢讓米國人羡慕呀;再來看星級Top1的LALAVAVA,評論數少得可憐,那麼對其商品真實品質就要存疑了;而星級倒數的N-pear I,同樣評論數很少,那大概率其商品其實不咋地;反觀評論數Top1的Garmol,其星級評價4.

4,口碑佳評論也多,看來是不錯的商品;緊隨其後的幾家,其星級分數就低於平均分了那麼,亞馬遜的星級評價難道就只受評論數的幾顆星比例影響嗎?我查閱了網上的一些資料,發現亞馬遜評價星級評定的三個重要因素:評論距離現在的時間,評論被買家投票採納數,評論是否有verified purchase標誌(意指真實買家)。此外,評論的字元數,被點擊次數等因素也可能會對評論星級有影響。看來,亞馬遜對評論的監控和管理是非常嚴格而複雜的!當然,最重要的還是看看評論第一名的Garmol長什麼樣:比上邊的泳衣更點題了,大家說好才是真的好,very sexy!2、不同商家的價格區間排名(按均價)從圖上來看,明顯ELOVER鎖定的是高端市場,定價區間在49刀左右;相反,Goddessvan定價僅0.

39刀,還只有一款,猜測可能是虧本衝量,提高商家曝光,搶奪低端市場從均價來看,基本分佈在10–20刀間,說明這是情趣內衣市場的主要價格區間;但20–40刀區間居然沒有任何商家,可以在這一塊深入研究,看能不能找到證據說明該區間是藍海,有更大的市場潛力而從每個商家的價格區間來看,大多數都是採取多顏色或款式的策略,一方面為用戶提供更多選擇,另一方面也體現了商家的上新能力;而僅有少數幾家採取了單一爆款的策略最奢華的ELOVER看上去果然比較女神,縮略圖都比別家更用心。那麼,到底哪個商家的策略更靠譜,市場份額更大呢?3、商家的商品數量圓形圖在Top100的商品占比中,Avidlove以28%的巨大優勢稱霸而其他商家基本都是個位數的占比,沒有很明顯的優劣勢Avidlove的內衣是帥氣酷炫風,還不錯。單一方面畢竟還是很難衡量哪家商家更優秀,不如綜合多個指標來分析吧~4、不同商家的加權分排名將星級、平均評論數、商品均價、商品數量進行標準化處理後,因為不好拍定加權的比例,便將4項的歸一化結果x10後直接累加得到總分,並製作成條形堆積圖。而每個商家的4項指標的占比,則側面反映其自身的優劣勢。Avidlove,剛剛的酷酷風內衣,在其他三項中規中矩的情況下,以商品數量優勢奪得綜合分第一,有種農村包圍城市的感覺Garmol,主要依靠口碑(星級、平均評論數)的優勢,奪得了第二名ELOVER,主要依靠精准切分高端市場,奪得了第三名N-pearI,沒有任何優勢,不出意料的光榮墊底口碑最差的N-pearI,能搜到的商品也最少,不過圖很勁爆,emm……然而不是我的菜…粗略來看的話,想要排名靠前,口碑一定不能太差,至少要保持在平均水準及以上!5、不同商家的星級/價格散點圖用Python做了張散點圖,x軸為商家的商品均價,y軸為商家的星級,點大小為商品數量,商品數量越大,點越大,點顏色為評論均值,評論均值越大,顏色越深紅。利用價格均值和星級均值,將圖切分為四個象限:①左上象限:實惠好評的商家②右上象限:有點貴,但一分錢一分貨的商家③右下象限:貴,但品質不咋地的商家④左下象限:便宜沒好貨的商家所以借助這張散點圖,挑商家買東西就容易多啦:追求性價比,可選擇Avidlove,而且商品多,任君挑選 ;追求高端,可選擇ELOVER,它貴有它的道理 ;追求大眾,可選擇Garmol,評論數最多,而且好評居多 。顧客可以根據自己的喜好挑選合適的商家,那麼作為商家如何改進自己呢?6、詞頻分析前面在爬取的過程中,同樣爬取了評論標籤,通過對此進行詞頻分析,可以發現顧客最關心的依次是:① 是否合身:size、fit等相關字眼多次出現且排位靠前② 品質:good quality、well made;soft and comfortable、fabric是對材質的肯定③ 款式:cute、sexy、like the picture你懂的④ 價格:cheaply made勉強算價格吧,但更多是對商品品質的懷疑⑤ 口碑:highly recommend,評論的還是非常有參考價值的評論標籤的數量較少,進一步對2.

4w條評論進行詞頻分析,並製作成詞雲:快誇我底圖選得好!最直觀的,仍然是跟“是否合身”以及品質或款式有關。那麼我們就從顧客購買商品的Size&Color繼續分析這裡,Size&Color的詞頻資料存在幾點問題:1、數據量較少,僅有約6000條2、Size&Color無法較好的區分開,因此一起分析3、商家的命名規則不同,比如同樣是黑色款,有個商家會命名black,而有的可能是style1(所以一些奇怪的數字編號其實是商家的款式編號)4、有些奇怪的字眼如trim可能是爬蟲時爬錯了或者匯出csv時的格式錯亂可以明顯看出:Size方面:large、medium、small肯定均有涵蓋,但另外還有xlarge、xxlarge、xxxlarge,亞馬遜主要是歐美顧客,可能體型相對較大,所以商家應該多研發以及備貨針對體型較大的顧客的商品。Color方面:非常直觀:Black > red > blue > green > white > purple….

所以黑色、紅色永遠不會錯;綠色是出乎我意料的,商家也可以大膽嘗試。Style方面:詞頻中出現trim、lace字眼,蕾絲最高!!!最後在分析了Top100的商品資訊和2.

4w條評論後,作為一篇正經的python資料分析研究,我們來總結一下亞馬遜情趣內衣產品和銷售策略:1、一定要注意的競品Garmol、ELOVER、Avidlove分別在口碑、定價、產品數量三個方向有其核心優勢,是需要重點研究的競爭對手。2、口碑很重要Review和星級是影響口碑的重要因素,需要深入研究其演算法機制並制定針對性的行銷策略Review和星級有基礎要求平均星級達4.

15分,高於平均分的商家超過一半平均評論數只有193條,高於平均線的商家約三成Review相對淘寶評論較少,亞馬遜的演算法複雜且懲罰力度大,因此Review重精勝於重多3、定價策略主流市場競爭激烈,價格多集中在10–20刀間高端市場有切入機會,目前僅ELOVER一家,價格在40–55刀間低端市場價值不大,利潤空間小,為了提高曝光或鋪量可考慮,但不利於以後衝擊中高端市場中高端市場機會巨大,20–40刀區間暫無其他商家,有巨大的市場潛力4、產品策略應結合目標市場和定價,提高研發和上新能力,先多產品試錯,再嘗試單一爆款鞏固市場內衣尺寸:合身最重要,需貼合國外顧客的體型,一般large及以上。顏色上:保守可多使用黑色、紅色,同時可大膽嘗試綠色。款式上:多採用蕾絲裝飾品質和品控是底線5、拓展&思考:亞馬遜Best Sellers是每小時更新一次,理論上可以每一小時爬一次,看商品的排名變化,是否有新品等 ,可以嘗試自動化爬蟲;針對上一點,但商品的評論內容並不是經常更新的,如何去重避免重複爬取?(類似于中斷點續傳功能);此次也有爬取商品圖片的連結,可全部下載;在積累一定的圖片素材以後,就可以一定程度上看出顏色、甚至是款式的趨勢。一場臉紅又心跳的資料分析就到這裡,如果你覺得這篇文章就幫我分享出去吧,小編會非常有動力了。接下來python專題將python入門分爲 — 環境&數據結構、函數基礎、NumPy、Pandas、Matplotlib、數據清理實操這六個章節去講述,有點期待嗎?歡迎在臉書評論給小編:“對哪個章節感興趣?”。——————————————————————————————————-我是「數據分析那些事」。常年分享資料分析乾貨,不定期分享好用的職場技能工具。別忘記追蹤我的臉書,要常和小編互動喲~可以給50個clap,你們也別太辛苦,49個就行^~^!感謝支持小編往期內容:學習計劃|帶你10周入門資料分析4招教你煉就資料分析的思維數據分析慣用的5種思維方法資料分析必備的43个Excel函式,史上最全!實操:如何用Excel做一次完整的資料分析寫給新人的資料庫入門指南零基礎快速自學SQL,2天足矣!資料視覺化技能的進階路線:SQL+BI+Echarts數據分析必掌握的統計學知識!不可不知描述性統計資料分析必備的統計學(二):假設檢驗.. More details

Leave a Reply