最值
最值
import numpy as np # 产生9个介于[10, 100)区间的随机数 a = np.random.randint(10, 100, 9) print(a) print(np.max(a), np.min(a), np.ptp(a))
# [92 12 30 22 37 76 85 56 66]
# 92 12 80
print(np.argmax(a), np.argmin(a))
# 0 1
import numpy as np # 产生9个介于[10, 100)区间的随机数 a = np.random.randint(10, 100, 9) b = np.random.randint(10, 100, 9) print(a) # [13 59 93 98 53 50 12 73 51] print(b) # [34 90 68 84 46 99 74 11 70] print(np.maximum(a, b)) # [34 90 93 98 53 99 74 73 70] print(np.minimum(a, b)) # [13 59 68 84 46 50 12 11 51]
a=np.arange(1,10).reshape(3,3) b = np.arange(1,10)[::-1].reshape(3,3) print(np.maximum(a,b)) """ [[9 8 7] [6 5 6] [7 8 9]] """ print(np.minimum(a,b)) """ [[1 2 3] [4 5 4] [3 2 1]] """
案例:评估AAPL股票的波动性。
import numpy as np import datetime as dt def dmy2ymd(dmy): """ 把日月年转年月日 :param day: :return: """ dmy = str(dmy, encoding='utf-8') t = dt.datetime.strptime(dmy, '%d-%m-%Y') s = t.date().strftime('%Y-%m-%d') return s dates, opening_prices, \ highest_prices, lowest_prices, \ closing_prices ,volumes= \ np.loadtxt('aapl.csv', delimiter=',', usecols=(1, 3, 4, 5, 6,7), unpack=True, dtype='M8[D],f8,f8,f8,f8,f8', converters={1: dmy2ymd}) # 日月年转年月日 #30天的最大震荡幅度 max_price = np.max(highest_prices) min_price = np.min(lowest_prices) print(min_price,'~',max_price) # 333.53 ~ 364.9 #哪一天是最高价,哪一天是最低价 max_ind = np.argmax(highest_prices) min_ind = np.argmin(lowest_prices) print('max',dates[max_ind])#max 2011-02-16 print('min',dates[min_ind])#min 2011-01-28