收盘价均值星期均值源码 python

btc_close_2017.py
import json

#将数据加载到一个列表中
filename="btc_close_2017.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".format(date,month,week,weekday,close))

#创建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"])))
import pygal
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
idx_week=dates.index("2017-12-11")
wd=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
weekdays_int=[wd.index(w) + 1 for w in weekdays[1:idx_week]]
line_chart_weekday=draw_line(weekdays_int,close[1:idx_week],"收盘价星期均值(¥)","星期均值")
line_chart_weekday.x_labels=["周一","周二","周三","周四","周五","周六","周日"]
line_chart_weekday.render_to_file("收盘价星期均值(¥).svg")

以上就是收盘价均值星期均值源码 python的全部内容,供大家参考。如果觉的这篇文章对你有帮助,欢迎收藏点赞转发,
你也可以在评论区留言,就这个问题进行讨论!
(0)
陈玉龙的头像陈玉龙
上一篇 2020年7月31日
下一篇 2020年8月1日

相关推荐