Python从入门到实践16.2.6收盘均价值函数理解

本节代码:
btc_close_2017.py
在这里插入图片描述
main.py

idx_mouth = dates.index('2017-12-01')
line_chart_mouth = draw_line(mouths[:idx_month], close[:idx_mouth],'收盘价月日均值', '月日均值')
line_chart_month
  • 说明1(瞎聊):
    买这本书自学来着,完全看书撸代码,问题不是太大,基本上通俗易懂,直到16章的下载数据卡住,于是就想把问题的笔记和思考写在博客上,希望大家来纠正和参考。

  • 说明2(x_date, y_date):
    来源于mouths[:idx_month] 和 close[:idx_mouth], 均为列表

  • 说明3(for x, y in groupby(sorted(zip(x_date, y_date)), key=lambda _: _[0]:)

    zip(x_date, y_date)为一个压缩函数,将x[x1,x2,x3,x4]和 y[y1,y2,y3,y4]压缩为([x1,y1],[x2,y2],[x3,y3],[x4,y4])

    之后由sorted()函数排序(我也不知道咋排的,估计是默认吧)

    在排序完成后,进入下一个函数groupby( ),这个函数通过key=lambda _: _[0]声明进行聚合,聚合结果是一个字典,它大概长这个样子 {‘月份’:[本月出现的所有收盘值], ‘x2’:[…],‘x3’:[…] },这时候就通过月来划分出收盘价的集合

    然后通过for循环遍历x为月份,y为收盘价的集合

  • 说明4(y_list = [v for _, v in y])

    这个我也不知道讲的啥,不过应该与y_list.append(y)一个效果,得到一整个月的收盘价集合

  • 说明5(x_unique, y_mean = [*zip(*xy_map)]
    xy_map里的结果:[[x1,y1],[x12,y12]]将它通过*zip()组合的结果为[[x1,x2,x3,…,x12],[y1,y2,y3,…,y12]]分别与x_unique和y_mean等价,解决了x y轴值的大小,接下来按部就班的传递参数给pygal画图就好啦。

顺便说一下svg图片是矢量图片,有自动缩放的功能,如果要投稿的话这种图片应该可以一用,希望肺炎赶快结束。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值