建设一个旅游网站毕业设计,建设网站的功能定位是什么原因,采招网招标官网,恢复118网址之家更多精彩#xff0c;请点击上方蓝字关注我们#xff01;1. 准备工作tushare是一个第三方财经数据接口包#xff0c;需要安装包并完成注册。安装tushare包pip install tushare 为防恶意调用接口数据#xff0c;官方()需要新用户完成注册、提高积分(例如达到200)、取得访问权… 更多精彩请点击上方蓝字关注我们1. 准备工作tushare是一个第三方财经数据接口包需要安装包并完成注册。安装tushare包pip install tushare 为防恶意调用接口数据官方()需要新用户完成注册、提高积分(例如达到200)、取得访问权限token ID2. 加载数据首先需要导入包已安装的tushare包。然后通过tokenID获取一个有访问权限的API接口最终通过官方文档说明使用index_daily() 来获取样例数据。这里取399401.SZ的交易日期和收盘价。import tushare as ts ts.set_token(1797f6915fbc1e612c33c6ed4cf85a2b7b349d85db80bf0860337fff)prots.pro_api()df1pro.index_daily(ts_code399401.SZ)[[trade_date, close]]3. 数据处理-转化与合并数据类型转化为datetime导入数据后先观察源数据的字段类型是否符合预期。通过执行如下脚本得到当前数据集中trade_date为object 并非日期类型# 查看数据类型print(df1.dtypes)# 查看样例数据print(df1.head())pandas中改变某列的数据类型为日期时可用pd.to_datetime。修改完成后将数据集中的日期字段重新设为索引。注意不要漏掉inplaceTrue。df1.sort_values(trade_date, inplaceTrue)# 转换列数据类型为日期df1[trade_date]pd.to_datetime(df1[trade_date])# 将指定的日期类型 列设为索引并替代。df1.set_index(trade_date, inplaceTrue)数据合并concat上面的df1对象中只包含一支股票的信息当在matplotlib中展现时仅可以观察趋势。如果需要与其它股票作对比分析则需要合并另外的数据。# 获取多支交易数据数据作对比分析 list1 [000002.SZ, 000012.SZ, 600010.SH]for i, ts_code in enumerate(list1): # 取指定日期的数据 df_tmp pro.daily(ts_codets_code, start_date20170101, end_date20180101)[[trade_date, close]] df_tmp.sort_values(trade_date, inplaceTrue) df_tmp[trade_date]pd.to_datetime(df_tmp[trade_date]) df_tmp.rename(columns{close: ts_code}, inplaceTrue) df_tmp.set_index(trade_date, inplaceTrue) if i0 : df df_tmp else: # axis1沿第2条轴即X轴。列增加 df pd.concat([df, df_tmp], axis1) print(ts_code)# 查看数据 df.head()4. 可视化展现查看单一股票的年度趋势图并添加参考线import matplotlib.pyplot as plt ax df1.plot(colorblue, figsize(12, 4), linewidth2, fontsize6)ax.set_xlabel(trade date)ax.set_ylabel(399401.SZ close)ax.set_title(Trend analysis of recent years 2013-2019 , fontsize8)# 添加水平线ax.axvline(2018-08-15, colorred, linestyle--, linewidth2)ax.axhline(6000, colorgreen, linestyle--,linewidth2 )plt.show()如下示图参数设置。主题切换可先调用语句plt.style.available查看当前可用的主题名称再选择即可。设置X轴日期格式matploblib中也提供了的dates对象对X轴的显示日期格式与频度进行设置。如下脚本将设置日期区间为2013-01-01 至 2019-12-01显示年-月,频度为10个月。# 查看可用样式import matplotlib.dates as mdate print(plt.style.available)plt.style.use(seaborn-talk)ax1df1.plot(figsize(12, 4))ax1.set_title(my mew style - seaborn-talk)ax1.xaxis.set_major_formatter(mdate.DateFormatter(%Y-%m))plt.xticks(pd.date_range(2013-01-01, 2019-12-01, freq10m))plt.show()示例图如下对比分析先预览已完成合并的数据。dataFrame对象df中trade_date仍为索引但是新增了其它列。ax3 df.plot(linewidth3 , fontsize16, figsize(12, 4 ))ax3.set_xlabel(trade_date)ax3.set_ylabel(unit price)# 指定X轴显示刻度 取代默认设置ax3.xaxis.set_major_formatter(mdate.DateFormatter(%Y-%m))plt.xticks(pd.date_range(2017-01-01, 2018-01-01, freq3m))ax3.legend(fontsize12)ax3.set_title(Comparison of analysis)plt.show()展现结果为5. 小结介绍了获取第三方平台的接口数据的方法数据清洗与合并主要有数据类型转换、重新排序、索引重置、数据合并时序数据的可视化对比分析与基本展现设置图文 / 来源网络版权归原作者所有侵联删END碧茂课堂精彩课程推荐1.Cloudera数据分析课2.Spark和Hadoop开发员培训3.大数据机器学习之推荐系统4.Python数据分析与机器学习实战详情请关注我们公众号碧茂大数据-课程产品-碧茂课堂现在注册互动得海量学币大量精品课程免费送关注最新行业动态加群进行技术交流