Py学习  »  Python

【送书】手把手教你用Python直观查看贵州茅台股票交易数据

Crossin的编程教室 • 4 年前 • 520 次点击  


大家好,欢迎来到 Crossin的编程教室 !

贵州茅台可谓是大A股的标杆。今天我们就来尝试用Python获取它的交易量数据,并进行直观的展示。

如图1所示是网易财经展示的贵州茅台股票的历史交易数据。

图1

单击“下载数据”超链接,会弹出如图2所示的对话框,选择完成后单击“下载”按钮就可以下载数据了,所下载的数据是CSV格式。

图2

CSV(Comma-Separated Values)是以逗号分隔数据项(也被称为字段)的数据交换格式,主要应用于电子表格和数据库之间的数据交换。

提示:CSV 是文本文件,可以使用记事本等文本编辑器打开,如图2-5所示,还可以使用Excel打开,如图2-6所示。另外,可以将Excel中的电子表格另存为CSV文件,但这可能会导致数据格式丢失,例如CSV文件中的"0001"数据使用Excel打开会变为1。在Windows平台上,默认的字符集是GBK,要想使用Excel打开CSV文件且不乱码,就需要将CSV文件保存为GBK字符集。

图3

该折线图的实现代码如下:

#  coding=utf-8# 代码文件:chapter6/ch6.2.6.py
import matplotlib.pyplot as pltimport pandas as pd
plt.rcParams['font.family'] = ['SimHei'] # 设置中文字体plt.rcParams['axes.unicode_minus'] = False # 设置负号正常显示
plt.figure(figsize=(15, 5))
f = r'data\股票的历史交易数据.xlsx'

df = pd.read_excel(f)
df2 = df.query("Date >='2021-03-01' and Date < '2021-04-01'").sort_values(by='Date') ①
# 绘制折线plt.plot(df2['Date'], df2['Volume']) ②
plt.title('贵州茅台股票')plt.ylabel('成交量') # 添加y轴标题plt.xlabel('交易日期' ) # 添加x轴标题plt.xticks(rotation=40)plt.show()

代码解释如下。

  • 第①行通过指定时间段来查询数据,并按照'Date'字段排序。

  • 第②行通过plt.plot函数绘制折线,其中df2['Date']是x轴数据,df2['Volume']是y轴数据。

图 4

该折线图的实现代码如下:

#  coding=utf-8# 代码文件:chapter6/ch6.2.7.py
import matplotlib.pyplot as pltimport pandas as pd
plt.rcParams['font.family'] = ['SimHei'] # 设置中文字体plt.rcParams['axes.unicode_minus'] = False # 设置负号正常显示
plt.figure(figsize=(15, 5))
f = r'data\股票的历史交易数据.xlsx'
df = pd.read_excel(f)
df2 = df.query("Date >='2021-03-01' and Date < '2021-04-01'").sort_values(by='Date')
plt.title('贵州茅台股票历史OHLC折线图')plt.plot(df2['Date'], df2['Open'], label='开盘价') ①plt.plot(df2['Date'], df2['High'], label='最高价')plt.plot(df2['Date'], df2['Low'], label='最低价')plt.plot(df2['Date'], df2['Close'], label='收盘价') ②
plt.ylabel('成交量')plt.xlabel('交易日期')plt.xticks(rotation=40)
plt.show()

代码解释如下。

第①行和第②行绘制了4个折线图,label参数用于设置在图例中显示的折线标签。

至此,我们便可以直观地看到茅台一个月内的历史股票交易数据啦!

* 本文摘自《趣玩Python:自动化办公真简单(双色+视频版)》一书,欢迎阅读此书了解更多关于Python自动化办公的内容。

▊《趣玩Python:自动化办公真简单(双色+视频版)》

关东升 著


  • 有趣、有料、好玩、好用的Python自动化办公书!自动化办公真简单!

  • 精美双色印刷,好看、养眼,可读性更好!

  • 内页植入配套视频二维码,看不懂的地方随手扫一扫,轻松看视频

  • 贴心配套随书源码、视频、课件,根据封底读者服务即可轻松获取

本书以数据收集→数据清洗→数据分析→数据可视化→根据数据可视化结果(即图表)做决策为脉络,介绍Python在实际工作场景中的应用,侧重于用Python解决工作中的数据处理问题,并通过实战形式讲解如何用Python实现数据收集、数据清洗、数据分析及可视化等工作。本书还详细讲解了Python自动化办公方面的内容,包括:Excel自动化、Word自动化、PPT自动化、PDF文件处理、图形图像处理和RPA(机器人流程自动化),并介绍了GUI技术和应用程序打包相关知识。

本书秉承有趣、有料、好玩、好用的理念,特意设计了两个人物角色,通过这两个人物角色的轻松对话、搞笑形象及夸张动作,把复杂的技术问题讲解得深入浅出,非常适合广大读者阅读。

现在购买可享5折优惠




【福利时间】
抽 5位 读者,各送出 1本 《趣玩Python:自动化办公真简单(双色+视频版)》

参与方式:在公众号 编程学习者社区 中回复关键字 送书 可参与抽奖,1月1日晚上20:00自动开奖。

↑↑↑ 点击进入并回复送书 ↑↑↑

到时候中奖了的小伙伴会收到微信通知(记得在参与时选择“允许抽奖结果通知”,否则可能因无法联系而作废),请务必在开奖后24小时内再次前往抽奖页面填写收件地址信息,不然就默认把书让给其他小伙伴了。(如果担心忘记也可以提前写好)

祝各位好运哇!


_往期文章推荐_

基金定投选星期几更划算?




如需了解付费精品课程及教学答疑服务
请在Crossin的编程教室内回复: 666

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/124514