你的位置:中国名片 > 财经专栏 > 正文

Python可视化财经新闻:2021年4月份70城市住房价格

来源:网络整理 时间:2021-05-23 09:34 浏览量:

  因此要进行批量提取,提取规律为[0,1,2,3]、[4,5,6,7]...[276,277,278,279]循环提取成为[0,4,...276]、[1,5...277]、[2,6...278]、[3,7...279]。

  2.2画图-雷达图

一、新闻说明以及部署思考:

  2.1数据清洗工作

  表2:2021年4月70个大中城市二手住宅销售价格指数:

  通过设置步长来批量提取每列数据,然后合并。

  

数据如何获得通过复制粘贴【你敢信】,最开始还打算抠图,后来发现Python相应的库始终找不到图的位置,就放弃了。

  

Python可视化财经新闻:2021年4月份70城市住房价格



  蓝色代表:定基,红色代表:环比,黄色代表:同比


数据如何清洗:原图的展示是4*70的模式,复制粘贴以后就成了1*280,将这个长度转移成4*70是任务一,如果通过原CSV格式提取相应的顺序并且重写索引也是需要考虑的。

Python可视化财经新闻:2021年4月份70城市住房价格

  import pandas as pdimport matplotlib.pyplot as pltimport numpy as npplt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False #用来正常显示负号#1.数据导入和清洗工作:t=pd.read_excel('test.xlsx',header=None)#导入数据listpp=[]#设置空的list便于后面添加数据#设置步长,range起点不同,开始提取,形成新的listp1=list(range(0,len(t),4))p2=list(range(1,len(t),4))p3=list(range(2,len(t),4))p4=list(range(3,len(t),4))#利用df.iloc[list]方式,分批从t中提取数据,然后重写索引,形成一个新的df,不断写入listpp中,#最后合并。for p in [p1,p2,p3,p4]: p=t.iloc[p] p=p.reset_index(drop=True) listpp.append(p)listpp=pd.concat(listpp,axis=1)#暴力命名法listpp.columns=['城市名','环比','同比','定基']#这种复制到csv中,str部分有空格,删除。listpp['城市名']=listpp['城市名'].apply(lambda x:x.replace(u'\u3000',u' ') )listpp['城市名']=listpp['城市名'].apply(lambda x:x.replace(u'\xa0',u' '))

三、部分效果图展示:

  labels=listpp['城市名'].to_numpy()data=listpp['定基'].to_numpy()data01=listpp['环比'].to_numpy()data02=listpp['同比'].to_numpy()datalenth=70angles = np.linspace(0, 2*np.pi, datalenth, endpoint=False)data = np.concatenate((data, [data[0]])) # 闭合data01=np.concatenate((data01, [data01[0]]))data02=np.concatenate((data02, [data02[0]]))#这里的angles是用来控制圆形赋值的地方,十分重要。angles = np.concatenate((angles, [angles[0]])) # 闭合# print(angles,data,angles)# print(type(angles),type(data),type(angles))# exit()fig = plt.figure()ax1 = fig.add_subplot(111, polar=True)# polar参数!!ax1.plot(angles, data, 'bo-', linewidth=2)# 画线ax1.fill(angles, data, facecolor='r', alpha=0.25)# 填充ax1.set_thetagrids(angles * 180/np.pi, labels,fontproperties="SimHei")ax2 = fig.add_subplot(111, polar=True)# polar参数!!ax2.plot(angles, data01, 'ro-', linewidth=2)# 画线ax3 = fig.add_subplot(111, polar=True)# polar参数!!ax3.plot(angles, data02, 'yo-', linewidth=2)# 画线ax2 = fig.add_subplot(111, polar=True)# polar参数!!ax2.plot(angles, data01, 'ro-', linewidth=2)# 画线ax1.set_title("2021年4月70个大中城市新建商品住宅销售价格指数", va='bottom', fontproperties="SimHei")ax1.set_rlim(95,115)ax1.grid(True)plt.show()

  遇到的问题有:

  表1:2021年4月70个大中城市新建商品住宅销售价格指数

  蓝色代表:定基,红色代表:环比,黄色代表:同比

  由于表复制的结果不同,在处理上也就不同,笔者这里应该是解决了最困难的地方,其他地方的复制粘贴结果的不同,自行处理。

  我们复制粘贴以后,得到一个len(t)=280的数据,按照【城市,环比,同比,定基】,四个数值一组,

  最近统计局发布2021年4月份70个大中城市商品住宅销售价格变动情况的数据报告,看简单的数据没有什么可比性,所以就想着通过Python可视化图像,使得数据图像化,会更好看一些,更加直观一些。


相关新闻