当前位置: 首页 > 后端技术 > Python

口红?剃刀?Python告诉你过去520大家都在送什么礼物

时间:2023-03-26 01:56:33 Python

【导读】:今天我们就来说说过去的520,你买的最多的是什么?Python的技术部分请看第二部分。给我数据,用数据说话!今天我们来说说520的礼物。一年一度的520刚刚过去。由于疫情的影响,我错过了今年2月14日的情人节。2020年5月20日,这个谐音是“爱你,我爱你,我爱你”的“世纪520”特别吸引恋人,网络上充斥着结婚、告白、求婚等甜蜜新闻,微博排行榜上的蜜糖几乎溢出屏幕,520简直就是一个大型的“撒狗粮”节日,其中最大的狗粮来自民政局!全国各地的民政局都满满当当!这一天想领证的新人把民政局围得水泄不通,有的甚至凌晨4点就去排队了。01.《世纪520》赠送你还买什么?除了领证证书,对于情侣来说,520怎么花,给心爱的ta送什么礼物也是大家非常关心的话题。首先我们在知乎上看到了“520送什么”这个话题,经过分析整理,我们发现:根据知乎数据,送女朋友什么关于送女朋友礼物,大多数网友提到口红、香水、项链、手表,还有玫瑰巧克力等礼物;在送男朋友什么方面,剃须刀、键盘、鼠标、游戏机等也是经常被提及的。那么真相是什么?接下来,让我们看看淘宝和天猫的数据,真正用数据说话。我们收集整理了淘宝上520款礼品的100页商品数据,并使用Python进行整理分析。经过预处理,我们一共得到了3854条数据。520大家都在买什么礼物?我们在淘宝上搜索了520件礼物,对得到的数据进行了分析整理,发现:永生花和玫瑰占了很大的比重,可见节日送花仍然是男性的统一选择;此外,我们可以发现,施华洛世奇、潘多拉等首饰也是不错的选择;还有音乐盒和巧克力等礼物。哪些商店卖最好的520礼品?那么作为520的礼物,哪些店卖得最好呢?分析发现,彩妆品牌不愧是嘟嘟王。Mac排名第一,真的是小姐姐们都有的口红,一点毛病都没有。其次,Armani、ysl、Tomford、Givenchy都上榜了。有意思的是,排在第二位的是kufire,一家主营创意礼品的店铺,其中从创意灯具到按摩枕等礼品应有尽有。这也可能与搜索时店铺的页面排名比较靠前有关。520的人喜欢在哪些省份买买买?那么520中哪些省份的人最喜欢买买买呢?根据数据整理,广东人高居榜首,其次是浙江和上海。520上的商品价格是多少?那么520期间商品价格是如何分布的呢?从图中可以看出,50元以下的产品不多,50-200元以内的产品最多。什么价格的产品最好卖?看完了520产品的价格区间,我们来看看什么价位的产品最好卖。分析显示,200元以下的产品最受欢迎。其中0-50元销售额占比19.21%,50-100元销售额占比20.13%。100-150和150-200的比例也不错,分别在15.88%到17.12%之间。最后来看看大家在520都喜欢买什么。我们对520的商品标题进行了分析整理,发现词云主要可以分为这几类;送女生永生花和玫瑰是男同胞的首选;彩妆化妆品占比很大,比如阿玛尼粉底液、纪梵希等首饰和项链也是很多人的选择;男生的打火机、手表、电动牙刷是很多人会选择购买的产品。送什么礼物好像和知乎得出的结论差不多。从中我们也发现,520情人节,男生主要给女生买礼物。我自己买的。02.Python教你分析淘宝520商品数据我们收集整理了淘宝520礼品100页商品数据,并用Python进行整理分析。整个数据分析过程分为以下三个步骤:数据采集、数据预处理和数据可视化。数据可视化部分关键代码如下:以的形式存储,结果如下图所示。df.head()查看数据框的大小,可以看到总共有4404个样本。df.info()?RangeIndex:?4404?entries,?0?to?4403Data?columns?(total?5?columns):goods_name??????4404?non-null?objectshop_name???????4404?non-null?objectprice???????????4404?non-null?float64purchase_num????4404?non-nullobjectlocation4404non-nullobjectdtypes:float64(1),object(4)memoryusage:172.1+KB02数据预处理这里我们对数据进行如下处理,方便后续的数据分析和可视化:删除重复值purchase_num字段:删除购买人数为空的记录purchase_num字段:提取数值数据计算sales=price*purchase_numlocation字段:提取省份数据goods_name字段:分词,提取关键字importrequiredpackagesimportnumpyasnpimportpandasaspdimporttimeimportreimportjiebaimportjieba.analysefromcollectionsimportCounterfrompyecharts.chartsimportBar,Map,Pie,TreeMap,WordCloud,Pagefrompyecharts导入选项为optsfrompyecharts.globalsimportSymbolType读取数据df=elpd.read_ex./520gift天猫data.xlsx')去除重复值df.drop_duplicates(inplace=True)删除购买次数为空的记录df=df[df['purchase_num'].str.contains('Purchase_num')]购买人数df['purchase_num']=df['purchase_num'].str.extract('(\d+)').astype('float')salesdf['sales_volume']=df['price']*df['purchase_num']省处理df['province_name']=df.location.str[:2]经过预处理后,共有3854条数据,如下图:df.head()03数据可视化在数据可视化部分,我们主要分析以下信息:520大家都买什么礼物Top10代码实现:data=[{"value":593,"name":"EternalFlower"},{"value":340,"name":"Rose"},{"value":221,"name":"施华洛世奇"},{"value":114,"name":"巧克力"},{"value":66,"name":"银项链"},{"value":65,"name":"三叶草"},{"value":65,"name":"音乐盒"},{"value":65,"name":"Pandora"},{"value":59,"name":"满天星"},{"value":49,"name":"康乃馨"}]tree=TreeMap(init_opts=opts.InitOpts(width="1280px",height="720px"))tree.add(series_name='',data=data,label_opts=opts.LabelOpts(position='inside'))tree.set_global_opts(title_opts=opts.TitleOpts(title='520EveryonebuysWhatgifttop10'),legend_opts=opts.LegendOpts(is_show=False))tree.render()520礼品销量Top10店铺代码实现:计算top10店铺shop_top10=df.groupby('shop_name')['purchase_num'].sum().sort_values(ascending=False).head(10)绘制柱形图bar1=Bar(init_opts=opts.InitOpts(width='1350px',height='750px'))bar1.add_xaxis(shop_top10.index.tolist())bar1.add_yaxis('',shop_top10.values.tolist())bar1.set_global_opts(title_opts=opts.TitleOpts(title='520礼品商品销量Top10店铺'),=xaxis_optsopts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),visualmap_opts=opts.VisualMapOpts(max_=shop_top10.values.max()))bar1.render()520礼品商品销售排名Top10代码实现:计算销售额top10province_top10=df.groupby('province_name')['purchase_num'].sum().sort_values(ascending=False).head(10)barbar2=Bar(init_opts=opts.InitOpts(width='1350px',height='750px'))bar2.add_xaxis(province_top10.index.tolist())bar2.add_yaxis('',province_top10.values.tolist())bar2.set_global_opts(title_opts=opts.TitleOpts(title='520礼品产品销量省排名Top10'),visualmap_opts=opts.VisualMapOpts(max_=province_top10.values.max()))bar2。render()520礼品国内各省销量分布代码实现:计算销量province_num=df.groupby('province_name')['purchase_num'].sum().sort_values(ascending=False)绘制地图map1=Map(init_opts=opts.InitOpts(width='1350px',height='750px'))map1.add("",[list(z)forzinzip(province_num.index.tolist(),province_num.values.tolist())],maptype='中国')map1.set_global_opts(title_opts=opts.titleopts(title='520礼物礼物国内各销量分布'),Visualmap_opts=opts.visualmapopts(max_=province_num.quantile(0.9)Map(Map_num.quantile(0.9)))520不同价格区间商品数量的代码实现:deftranform_price(x):ifx<=50:return'0~50'elifx<=100:return'50~100'elifx<=150:'return100~150'Elifx<=200:返回'150~200'Elifx<=250:返回'200~250'Elifx<=300:返回'250~300'Elifx<=500:返回'300~500'elifx<=1000:返回'500~1000'elifx<=2000:返回'1000~2000'elifx<=5000:return'2000~5000'else:return'5000~10000'数据转换df['price_cut']=df.price.apply(lambdax:transform_price(xnum))df_priceprice_cut.value_counts()datax_data=['0~50','50~100','100~150','150~200','200~250','250~300','300~500','500~1000','1000~2000','2000~5000','5000~10000']y_data=[395,594,565,620,212,302,399,394,273,91,9]bar3=条(init_opts=opts.InitOpts(width='1350px',height='750px'))bar3.add_xaxis(x_data)bar3.add_yaxis('',y_data)bar3.set_global_opts(title_opts=opts.TitleOpts(title='520数量ofgoodsindifferentpriceranges'),visualmap_opts=opts.VisualMapOpts(max_=800))bar3.render()520个不同价格区间的赠品销量比例代码实现:price_cut_num=df.groupby('price_cut')['purchase_num'].sum()data_pair=[list(z)forzinzip(price_cut_num.index,price_cut_num.values)]饼图pie1=Pie(init_opts=opts.InitOpts(width='1350px',height='750px'))内置富文本pie1.add(series_name="",半径=["35%","55%"],data_pair=数据对,label_opts=opts.LabelOpts(formatter="{b}:{c}({d}%)")pie1.set_global_opts(legend_opts=opts.LegendOpts(pos_left="left",pos_top='30%',orient="vertical"),title_opts=opts.TitleOpts(title='520礼品不同价格区间销量占比'))pie1.render()以上就是Python分析520礼品数据的全部内容,如果你觉得有兴趣的话,也可以下载数据和代码自己试试~CDA数据分析师出品作者:Mika数据:振达后期制作:泽龙