投资有风险,选择需谨慎。 股票交易数据分析可直观股市走向,对于如何把握股票行情,快速解读股票交易数据有不可替代的作用!
目录
1 数据预处理
1.1 股票历史数据csv文件读取
1.2 关键数据——在csv文件中选择性提取“列”
1.3 数据类型转换
1.4 数据按列提取并累加性存入列表
2 pyecharts实现数据可视化
2.1 导入库
2.2 初始化画布
2.3 根据需要传入关键性数据并画图
2.4 将生成的文件形成HTML代码并下载
2.5 完整代码展示
3 结果展示
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")
)