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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM