Numpy学习笔记----数据处理

# 文件中的数据为给定时间范围内某股票的数据,现要求:获取该时间范围
# 内交易日周一、周二、周三、周四、周五分别对应的平均收盘价及哪天的
# 平均收盘价最高,哪天的平均收盘价最低。
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))

猜你喜欢

转载自blog.csdn.net/weixin_42199174/article/details/80915809