python实现股票历史数据可视化分析案例
作者:荣仔!最靓的仔! 时间:2021-12-20 00:29:10
投资有风险,选择需谨慎。 股票交易数据分析可直观股市走向,对于如何把握股票行情,快速解读股票交易数据有不可替代的作用!
1 数据预处理
1.1 股票历史数据csv文件读取
import pandas as pd
import csv
df = pd.read_csv("/home/kesci/input/maotai4154/maotai.csv")
1.2 关键数据——在csv文件中选择性提取“列”
df_high_low = df[['date','high','low']]
1.3 数据类型转换
df_high_low_array = np.array(df_high_low)
df_high_low_list =df_high_low_array.tolist()
1.4 数据按列提取并累加性存入列表
price_dates, heigh_prices, low_prices = [], [], []
for content in zip(df_high_low_list):
price_date = content[0][0]
heigh_price = content[0][1]
low_price = content[0][2]
price_dates.append(price_date)
heigh_prices.append(heigh_price)
low_prices.append(low_price)
2 pyecharts实现数据可视化
2.1 导入库
import pyecharts.options as opts
from pyecharts.charts import Line
2.2 初始化画布
Line(init_opts=opts.InitOpts(width="1200px", height="600px"))
2.3 根据需要传入关键性数据并画图
.add_yaxis(
series_name="最低价",
y_axis=low_prices,
markpoint_opts=opts.MarkPointOpts(
data=[opts.MarkPointItem(value=-2, name="周最低", x=1, y=-1.5)]
),
markline_opts=opts.MarkLineOpts(
data=[
opts.MarkLineItem(type_="average", name="平均值"),
opts.MarkLineItem(symbol="none", x="90%", y="max"),
opts.MarkLineItem(symbol="circle", type_="max", name="最高点"),
]
),
)
tooltip_opts=opts.TooltipOpts(trigger="axis"),
toolbox_opts=opts.ToolboxOpts(is_show=True),
xaxis_opts=opts.AxisOpts(type_="category", boundary_gap=True)
2.4 将生成的文件形成HTML代码并下载
.render("HTML名字填这里.html")
2.5 完整代码展示
import pyecharts.options as opts
from pyecharts.charts import Line
(
Line(init_opts=opts.InitOpts(width="1200px", height="600px"))
.add_xaxis(xaxis_data=price_dates)
.add_yaxis(
series_name="最高价",
y_axis=heigh_prices,
markpoint_opts=opts.MarkPointOpts(
data=[
opts.MarkPointItem(type_="max", name="最大值"),
opts.MarkPointItem(type_="min", name="最小值"),
]
),
markline_opts=opts.MarkLineOpts(
data=[opts.MarkLineItem(type_="average", name="平均值")]
),
)
.add_yaxis(
series_name="最低价",
y_axis=low_prices,
markpoint_opts=opts.MarkPointOpts(
data=[opts.MarkPointItem(value=-2, name="周最低", x=1, y=-1.5)]
),
markline_opts=opts.MarkLineOpts(
data=[
opts.MarkLineItem(type_="average", name="平均值"),
opts.MarkLineItem(symbol="none", x="90%", y="max"),
opts.MarkLineItem(symbol="circle", type_="max", name="最高点"),
]
),
)
.set_global_opts(
title_opts=opts.TitleOpts(title="茅台股票历史数据可视化", subtitle="日期、最高价、最低价可视化"),
tooltip_opts=opts.TooltipOpts(trigger="axis"),
toolbox_opts=opts.ToolboxOpts(is_show=True),
xaxis_opts=opts.AxisOpts(type_="category", boundary_gap=True),
)
.render("everyDayPrice_change_line_chart2.html")
)
3 结果展示
来源:https://blog.csdn.net/IT_charge/article/details/113761938
标签:python,股票,可视化
0
投稿
猜你喜欢
python numpy实现rolling滚动案例
2023-08-24 17:12:45
Python之os模块案例详解
2021-06-18 15:09:38
conn.execute的用法
2008-07-03 12:58:00
Python 中的 else详解
2021-12-15 09:42:18
基于Python实现自动化生成数据报表
2021-11-07 00:42:16
PHP连接MSSQL方法汇总
2023-11-17 19:34:36
Oracle 忘记密码的找回方法
2009-03-06 11:12:00
python内置模块collections知识点总结
2023-10-27 19:37:08
MySQL数据库升级的一些"陷阱"
2024-01-15 17:35:22
pytorch和numpy默认浮点类型位数详解
2021-11-10 10:19:49
python使用os模块的os.walk遍历文件夹示例
2021-05-21 12:30:07
python3 sorted 如何实现自定义排序标准
2022-09-19 21:32:49
利用Python制作简易的核酸检测日历
2022-02-04 00:55:53
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
2023-06-24 02:55:42
老生常谈CSS网页布局的意义与副作用
2008-09-12 12:31:00
Python爬虫教程知识点总结
2023-10-01 15:27:16
windows下Python实现将pdf文件转化为png格式图片的方法
2022-03-22 08:55:51
oracle 的表空间实例详解
2023-06-25 11:39:37
Python企业编码生成系统之系统主要函数设计详解
2021-05-11 20:43:49
Python实现的json文件读取及中文乱码显示问题解决方法
2022-05-18 16:41:15