找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 4681|回复: 2

[求助] 绘制股票日均值图(看不懂代码表达的意思)

3

主题

7

帖子

7

积分

贫民

积分
7
hsl992 发表于 2018-3-20 21:46:47 | 显示全部楼层 |阅读模式
各位前辈们,求助一下,怎么理解下面这段绘制收盘价日均图。代码有些地方看不懂。。。求指教。

此外,按照代码来运行,但提示错误,不知道要怎么改才好呢?谢谢。

环境:python3.6 ; 参考书籍:《Python编程从入门到实践》

如下为代码:
—————————————————————————————————————————————————————————————

import json

#将数据加载到一个列表中
filename= 'btc_close_2017.json'
with open(filename) as f:
    btc_data = json.load(f)

#创建5个列表,分别储存日期和收盘价
dates = []
months = []
weeks = []
weekdays = []
close =[]
#每一天的信息

for btc_dict in btc_data:
    dates.append(btc_dict['date'])
    months.append(int(btc_dict['month']))
    weeks.append(int(btc_dict['week']))
    weekdays.append(btc_dict['weekday'])
    close.append(int(float(btc_dict['close'])))

from itertools import groupby

def draw_line(x_data,y_data,title,y_legend):
    xy_map = []   #为何要将xy合并一起呢?
    for x,y in groupby(sorted(zip(x_data,y_data)),key=lambda _: _[0]):
        y_list = [v for _,v in y]   #这一段的for循环是怎么样读取的呢?v in y是判断v 是否在 y内吗?
        xy_map.append([x,sum(y_list) / len(y_list)])    #应该是表达平均收盘价吧?
    x_unique,y_mean = [*zip(*xy_map)]     #*zip()知道是逆运算,将xy_map分开。但(*xy_map())又表达什么意思呢?
    line_chart = pygal.Line()
    line_chart.title = title
    line_chart.x_label = x_unique
    line_chart.add(y_legend,y_mean)
    line_chart.render_to_file(titel+'.svg')
    return line_chart

——————————————————————————————————————————————————————————————————————

idx_month = dates.index('2017-12-01')
line_chart_month = draw_line(month[:idx_month],close[:idx_month],'收盘价月日均值(¥)','月日均值')
line_chart_month

TypeError                                 Traceback (most recent call last)<ipython-input-98-7b10d14c1c29> in <module>()      1 idx_month = dates.index('2017-12-01')----> 2 line_chart_month = draw_line(month[:idx_month],close[:idx_month],'收盘价月日均值(¥)','月日均值')      3 line_chart_monthTypeError: 'int' object is not subscriptable



btc_close_2017.json

40.38 KB, 下载次数: 7

收盘价数据

回复

使用道具 举报

3

主题

7

帖子

7

积分

贫民

积分
7
hsl992  楼主| 发表于 2018-3-24 13:14:53 | 显示全部楼层
顶一顶,看有没有大神指教一下。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

2

积分

贫民

积分
2
就重了咋地 发表于 2018-9-16 20:51:09 | 显示全部楼层
请问解决了没有
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表