天猫双 11 数据过于完美?用 Python 来算算!

640?wx_fmt=gif

定制马克杯,限时秒杀,仅需19.9元

640?wx_fmt=jpeg

640?wx_fmt=jpeg
作者 | 朱小五
本文经授权转载自凹凸玩数据(ID: alltodata)
双11结束了,大家已经无手可剁 。

天猫官方公布了今年的双11成交额为2684亿元,成功刷新了自己创下的商业纪录。按理说大家已经习惯了逐年增长,没想到

由于过于完美,引发网友提出质疑。

滑动图片浏览 or 点击查看大图

640?wx_fmt=jpeg


该微博在天猫公布2019年销售额后,引发大量讨论,成功登上热搜。

一些人提出了相反意见:如大V@阑夕表示天猫双11数据是精确地控制了交易额,从而形成了理想的曲线。

而天猫相关负责人回应称,符合趋势就假?造谣要负法律责任。

我们且不评论是真是假,先想想我们能干点什么呢?

不如先照着这位微博网友的步骤来复现一遍吧。


640?wx_fmt=png

利用Excel进行拟合


这位微博网友使用的工具似乎是Excel,我安装的是WPS,应该也能胜任。

先将天猫2009年-2018年的双十一历年销售额历史数据导入到一张表里。

640?wx_fmt=png

点击插入一张散点图。

640?wx_fmt=png

640?wx_fmt=png

左键点击一下任意一个散点数据,出现散点数据选择状态。

鼠标右击,弹出提示框,点击“添加趋势线”。

在WPS表格右侧,找到趋势线属性按钮,左键单击一下,弹出趋势线属性框。

640?wx_fmt=png


选择三次多项式,得到结果√

640?wx_fmt=png

其中R²=0.9994,这与微博网友的预测值一致,说明我们的方法是对的。

640?wx_fmt=png

over。

停一停,

作为一个经常使用Python进行数据分析的公众号,怎么能能少了Python呢?


640?wx_fmt=png

利用Python进行拟合并预测


我们在Python中可以利用numpy求解多项式以及多项式拟合。

尝试用numpy的polyfit函数进行拟合,并作图。

代码如下:

 
 
 

import matplotlib.pyplot as plt
import numpy as np

x = np.array([year for year in range(2009,2019)])
y = np.array([0.5,9.36,52,191,352,571,912,1207,1682.69,2135])
z1 = np.polyfit(x, y, 3# 用3次多项式拟合
p1 = np.poly1d(z1)

yvals=p1(x)
plot1=plt.plot(x, y, '*',label='实际销售额')
plot2=plt.plot(x, yvals, 'r',label='拟合销售额')
plt.xlabel('年份')
plt.ylabel('销售额(亿)')
plt.legend(loc=4# 指定legend的位置
plt.title('2009-2018淘宝双十一销售额拟合曲线')
plt.figure(figsize=(1010))
plt.show()

print('拟合多项式:',p1) #打印拟合多项式
p1 = np.poly1d(z1)
print("-"*40)
print('2019年预测值:',p1(2019))  #打印预测值

运行结果:

640?wx_fmt=png

640?wx_fmt=png

利用三次多项式预测的数据与公布的结果确实很相近。

我们继续搞事情。

将今年2019年的2684亿导入,预测一下后面三年:

640?wx_fmt=png

按照网上的阴谋论,后面几年的数据应该如此。

碎碎谈:

看了网络上的好几篇文章,众说纷纭。

作为一个技术er,就不去对此事做评价了。

只写一些其中跟我们相关的数据知识就够了。

网络大众对此事的看法到底如何?

不妨看下腾讯科技发起的一个投票。

640?wx_fmt=png

大众的看法就像这个投票。

作者:朱小五,互联网公司数据分析师。热衷于Python爬虫,数据分析,可视化,个人公众号《凹凸玩数据》,有趣的不像个技术号~

640?wx_fmt=png

640?wx_fmt=jpeg
 热 文 推 荐 
使用Python编写一个天猫商品信息的爬虫通常需要遵循以下几个步骤: 1. **安装必要的库**: 首先,你需要安装一些用于网络请求、HTML解析以及数据处理的库,如`requests`、`BeautifulSoup`或`Scrapy`框架。 ```bash pip install requests beautifulsoup4 # 或者使用Scrapy(如果对复杂爬虫有需求) pip install scrapy ``` 2. **发送HTTP请求**: 使用`requests`库发起GET请求获取网页源代码。例如,获取商品列表页的URL。 ```python import requests url = 'https://www.tmall.com/search?keyword=商品关键词' response = requests.get(url) html_content = response.text ``` 3. **解析HTML内容**: 使用`BeautifulSoup`解析HTML内容,提取出商品信息所在的标签结构。这可能包括商品标题、价格、图片链接等字段。 ```python from bs4 import BeautifulSoup soup = BeautifulSoup(html_content, 'lxml') items = soup.find_all('div', class_='product-item') # 类似于这样的选择器,具体看页面HTML结构 ``` 4. **提取数据**: 遍历找到的商品节点,使用`BeautifulSoup`提供的方法提取所需的数据,并将其存储在一个数据结构(如字典、列表或CSV文件)中。 ```python data_list = [] for item in items: title = item.find('h3').text price = item.find('.price').text image_url = item.find('img')['src'] # 添加到数据列表 data_list.append({ 'title': title, 'price': price, 'image_url': image_url }) ``` 5. **处理异常和反爬策略**: 天猫可能会有一些反爬机制,比如IP限制、验证码等,需要适时设置延迟、代理服务器、处理可能遇到的JavaScript加载内容等。 6. **保存结果**: 将采集到的数据写入文件或数据库。 ```python with open('tmall_items.csv', 'w', newline='', encoding='utf-8') as f: writer = csv.DictWriter(f, fieldnames=data_list[0].keys()) writer.writeheader() writer.writerows(data_list) ``` 7. **循环或调度**: 如果你想持续抓取新的商品信息,可以设置定时任务或循环爬取,但是要注意遵守天猫的robots.txt规则,尊重其爬虫政策。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值