# 文件中的数据为给定时间范围内某股票的数据,现要求:获取该时间范围
# 内交易日周一、周二、周三、周四、周五分别对应的平均收盘价及哪天的
# 平均收盘价最高,哪天的平均收盘价最低。
import numpy as np
from datetime import datetime
# 将日期格式字符串转化得到星期
def datestr(s):
return datetime.strptime(s.decode('utf8'),'%d-%m-%Y').date().weekday()
# 把第2列以datestr函数的方法取出
dates,close = np.loadtxt('data.csv',delimiter=',',usecols=(1,6),converters={1:datestr},unpack=True)
print("交易日期:\n",dates+1)
print("收盘价:\n",close)
average = []
for i in range(5):
# 根据星期数条件得到一个mask数组
mask = dates == i
# 根据mask数组筛选出星期数为i的所有的收盘价
weekday = close.compress(mask)
# 把求到的各个数组,求出平均值,并放到average列表中
average.append(np.mean(weekday))
#获取数组中最大值最小值的索引
max_vlaue = np.argmax(average)
min_vlaue = np.argmin(average)
print("星期 {} 的平均收盘价最高".format(max_vlaue+1))
print("星期 {} 的平均收盘价最低".format(min_vlaue+1))