matplotlib 图形化分析猪肉价格上涨趋势,pandas数据处理

1.爬取新发地果蔬价格csv,上一张的内容,爬取新发地果蔬价格保存为CSV格式,筛选出毛猪白条猪,

2.筛选分析猪肉的价格,利用matplotlib库生产趋势图.

#pandas
import pandas as pd #导入数据处理工具pandas
import matplotlib.pyplot as plt#导入图形化显示工具matplotlib
dataframe = pd.read_csv("新发地菜价.csv",header=None)
#print(dataframe)
#拿到数据
fei = dataframe[dataframe[0] == "白条猪(肥)"]
shou = dataframe[dataframe[0] == "白条猪(瘦)"]
#print(fei)
#print(shou)
fei = fei[[0, 2, 6]]#取抓取数据的0和2和6列数据
shou = shou[[0, 2, 6]]#取抓取数据的0和2和6列数据
#print(shou)
#print(fei)
df = pd.merge(fei, shou, on=6)#第6行是日期,同一天肥和瘦的平均价格
#print(df)
df['平均'] = (df['2_x'] + df['2_y'])/2
#print(df)
df = df.drop_duplicates(6)#根据日期去重,第6行是日期,drop是取掉的意思
#print(df)
df = df[[6,'平均']]#创建走势图只需要日期和均价
#print(df)
#print(df.info)
#首先把6列更改数据类型为datatime
df[6] = pd.to_datetime(df[6])
df = df.set_index(6)#把第六行的日期设置为索引
print(df)
print(df['2018'])#获取2018年的数据,时间必须是索引
df_2018 = (df['2018'])#取2018年的数据
df_2019 = (df['2019'])#取2019年的数据
#计算每个月的均价
df_2018 = df_2018.resample("M").mean().to_period("M")#获取2018每个月的平均值,M是以月份为单位输出
df_2019 = df_2019.resample("M").mean().to_period("M")
#print(df_2018)
#print(df_2019)
#plt.plot(x,y )#图形化横轴和纵轴
#plt.plot(df_2018.index.to_timestamp(), df_2018['平均'].values, "--x")#x轴价格,y轴年月,--x后出现虚线
#plt.plot(df_2019.index.to_timestamp(), df_2019['平均'].values, "--x")#x轴价格,y轴年月,--x后出现虚线
plt.plot(df_2018.index.to_timestamp().map(lambda x: x.month), df_2018['平均'].values, "--x")#lambda后x轴价格,y轴月份
plt.plot(df_2019.index.to_timestamp().map(lambda x: x.month+0.5), df_2019['平均'].values, "--x")#lambda后x轴价格,y轴月份
plt.bar(df_2018.index.to_timestamp().map(lambda x: x.month), df_2018['平均'].values, width=0.3)#bar柱形图后x轴价格,y轴月份
plt.bar(df_2019.index.to_timestamp().map(lambda x: x.month+0.5), df_2019['平均'].values, width=0.3)#bar柱形图后x轴价格,y轴月
#0.3表示柱形的宽度,0.5表示月份右移0.5.上面的plot是一样的
plt.show()


 3.趋势图

 

4.分析

12月份猪肉达到最高价25元.1月份最低12元左右

5.结果       

持续上涨                                                                                                                                              

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值