民以食为天,不知道大家注意最近土豆便宜了!可视化显示价格数据
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
民以食为天,不知道大家注意到没有最近土豆便宜了!当然,年轻的同学并不关注这些。重点是我们用Python爬取了“北京新发地市场”2020年1月至9月的土豆数据,并进行了分析,效果如图1和图2所示。
图1 爬取后的数据
图2 土豆价格变化趋势分析图表
具体实现步骤如下:
用Python实现简单爬取数据可以使用Pandas模块,前提是表格网页数据(即含有表格标签<table>…</table>),右键单击网页中的表格,在弹出的菜单中选择“检查元素”,查看代码中是否含有表格标签<table>…</table>的字样,如图3所示。
图3 检查元素
确定后在程序中使用Pandas模块的read_html()方法即可轻松实现简单爬虫。
完整程序代码如下:
importpandas as pdimport matplotlib.pyplot as plt# 创建空的DataFrame对象df =pd.DataFrame()
# 创建空列表
url_list=[]
# 遍历网页的所有页
for i in range(1, 19):
url = "http://www.xinfadi.com.cn/marketanalysis/0/list/"+str(i)+".shtml?prodname=%E5%9C%9F%E8%B1%86&begintime=2020-01-01&endtime=2020-09-27"
url_list.append(url)
# 遍历网页中的table读取网页表格数据
for url in url_list:
df= df.append(pd.read_html(url))
# 数据清洗删除无用数据第0行和第8列
df.drop(index=0,inplace=True)
df.drop(columns=7,inplace=True)
df.columns=["品名","最低价","平均价","最高价","规格","单位","发布日期"]
# 导出Excel数据
df.to_excel("土豆.xlsx",index=False)
# 将平均价转换为浮点类型
df["平均价"] = df["平均价"].astype(float)
df["发布日期"]=pd.to_datetime(df["发布日期"])
df1=df.set_index("发布日期")
df_month=df1.resample("M").mean()
# 绘制图表
plt.rcParams["font.sans-serif"] = ["SimHei"]
df_month.plot(kind="line",marker="o",color="r",title="土豆价格变化趋势")
plt.show()
以上通过一个简单的例子介绍了从数据爬取——数据处理——数据可视化——数据分析的一个过程。那么,通过以上方法还可以分析其他蔬菜、水果、粮油等等,感兴趣的小伙伴可以尝试!
以上文章来源于明日IT部落,作者 明日科技
转载地址
https://blog.csdn.net/fei347795790?t=1
以上是 民以食为天,不知道大家注意最近土豆便宜了!可视化显示价格数据 的全部内容, 来源链接: utcz.com/z/530326.html