numpy之时间处理

将日期转换成周几的形式,统计一个月内按照周几的形式分的股票的收盘价的平均值

import numpy as np
import matplotlib.pyplot as mp
import datetime as dt
import matplotlib.dates as md

'''
    时间处理:按照周一,周二...分组统计平均值
'''


# 日期转化函数
def dmy2wday(dmy):
    # 把dmy格式的字符串转化成周几返回
    dmy = str(dmy, encoding='utf-8')
    d = dt.datetime.strptime(dmy, '%d-%m-%Y')
    d = d.date()
    wday = d.weekday()  # 返回周几
    return wday


wdays, opening_prices, highest_prices, lowest_prices, closing_prices, volumns = \
    np.loadtxt('./da_data/aapl.csv', delimiter=',', usecols=(1, 3, 4, 5, 6, 7), unpack=True,
               dtype='f8, f8, f8, f8, f8, f8', converters={1: dmy2wday})  # converters为转换器,运行时先执行,其中1表示时间所在的列索引号
print(wdays)

ave_prices = np.zeros(5)  # 存储最终结果
for wday in range(5):
    ave_prices[wday] = closing_prices[wdays == wday].mean().round(2)  # 保留小数点几位
print(ave_prices)

 

posted @ 2019-07-10 08:52  一如年少模样  阅读(1549)  评论(0编辑  收藏  举报