社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python分析1585家电商车厘子数据:上海率先实现“车厘子自由”,销量超北京近50倍

大数据文摘 • 3 年前 • 422 次点击  

大数据文摘授权转载自菜J学Python

作者:J哥


众所周知,中国是智利车厘子最主要的出口对象,占据了其95%的市场份额。


智利驻华大使馆商务参赞娜塔曾表示:“2020-2021产季车厘子实现了丰收,预计今年有50万吨左右的车厘子进入中国市场。”自2020年12月中旬开始,智利海运车厘子陆续到达中国,运输成本较此前空运方式大幅下滑。


这意味着,国内消费者将能以更低的价格买到车厘子。然而,近日国内已有多地进口车厘子核酸检测结果为阳性,在这种情况下,你还敢大呼“车厘子自由”吗?


数据获取


本文利用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()


数据处理


数据读取并预览


import pandas as pdimport numpy as npdf = pd.read_csv('/菜J学Python/淘宝/车厘子.csv',header=None,                 names=['商品名称','商品价格','付款人数','店铺名称','发货地址']) #添加字段名称
df.sample(5)



查看数据信息


df.info()


Int64Index: 1595 entries, 0 to 1674Data 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)自定义索引并降序


数据清洗


#剔除缺失记录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 redf['数字'] = [re.findall(r'(\d+\.{0,1}\d*)', i)[0] for 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) #重置索引


清洗后,数据预览如下:



数据可视化


在以往的数据可视化中,常常以Python可视化库作图。而本文将尝试用Excel进行车厘子数据可视化,因为在绘图方面,Excel完全不输Python!


国内哪些地方车厘子卖的最火?



利用省份和付款人数字段数据制作地图,发现上海、浙江和广东等地车厘子销售量最大,西藏、青海和内蒙古销量较小。沿海地区的经济和人口优势,成为车厘子主要的消费市场。



车厘子作为“明星水果”,不菲的价格常常让打工人望而却步。根据国家统计总局发布的最新数据,上海人均可支配收入居首,超过7万元,自然更容易实现“车厘子自由”。北京虽然收入较高,但可能受疫情影响较大,车厘子销量并不多。



车厘子到底有多贵?



由上图可知,40%的车厘子价格在201-500元之间(淘宝挂牌价,非每斤价格),50元以下的车厘子占比不到4%,我表示有被贵到,你呢?如果你不嫌贵,那我帮你找到一家,可能符合你的需求,如下:



哪些店铺卖的最好?



从销量较高的淘宝店铺来看,基本都是旗舰店,看来大家对店铺品牌度关注较多。福瑞达旗舰店月销量超6万,名副其实车厘子销冠,百果园紧随其后。


在售的车厘子具有哪些特点?



为了了解车厘子的特点,对商品名称字段做了文本分析,以果篮为背景绘制了车厘子词云图。主要的特点还是可以看出来的,新鲜、智利、当季、特大等词都是水果店家推销的点。至于孕妇提及频率这么高,有点纳闷,于是百度之:



那么问题来了,特殊时期,我们打工人能不能剁手买车厘子?截至目前,根据中国疾控中心公布的消息,目前并没有发现因为食用进口冷链食品而感染新冠肺炎的病例。因此对于普通消费者来说,无须过于恐慌。当然如果你确实非常焦虑的话,疫情期间也可以多选择国内生产的食品。



点「在看」的人都变好看了哦!
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/106923
 
422 次点击