《python编程从入门到实践》的第16章的16.2.6 收盘价均值有一些错误,而且不像之前一样有详细明了的讲解,根据自己的学习情况,跟大家分享一下我对这个程序的理解。
先上代码:
import pygal
import json
import math
from itertools import groupby
def draw_line(x_data, y_data, title, y_legend):
xy_map = []
for x, y in groupby(sorted(zip(x_data, y_data)), key=lambda _: _[0]):
y_list = [v for _, v in y]
xy_map.append([x, sum(y_list)/len(y_list)])
x_unique, y_mean = [*zip(*xy_map)]
line_chart = pygal.Line()
line_chart.title = title
line_chart.x_labels = x_unique
line_chart.add(y_legend, y_mean)
line_chart.render_to_file(title+'.svg')
return line_chart
filename = 'btc_close_2017_request.json'
with open(filename) as f:
btc_data = json.load(f)
for btc_dict in btc_data:
date = btc_dict['date']
month = int(btc_dict['month'])
week = int(btc_dict['week'])
weekday = btc_dict['weekday']
close = int(float(btc_dict['close']))
print("{} is month {} week {},{}.The close price is {} RMB"

本文主要解析《Python编程从入门到实践》一书中关于16.2.6章节收盘价均值的代码,纠正错误并详细解释程序逻辑。通过代码分析,展示了如何处理JSON格式的交易收盘价数据,计算每个月的平均收盘价并绘制图表。
最低0.47元/天 解锁文章
338

被折叠的 条评论
为什么被折叠?



