1. 程式人生 > >matplotlib learning-----案例:股票的漲跌幅(4)

matplotlib learning-----案例:股票的漲跌幅(4)

"""
案例:隨機生成8只股票2周的交易日漲幅資料
    8只股票,兩週(10天)的漲跌幅資料,如何獲取?
        兩週的交易日數量為:2 X 5 =10
        隨機生成漲跌幅在某個正態分佈內,比如均值0,方差1
"""
import numpy as np

# 建立符合正態分佈的8只股票10天的漲跌幅資料
stock_change = np.random.normal(0, 1, (8, 10))

# 二維的陣列,兩個維度
print(stock_change[0, 0:3])
# 三維,一維
a1 = np.array([[[1, 2, 3], [4, 5, 6]], [[12, 3, 34], [5, 6, 7]]])
print(a1)
print(a1[0, 0, 1])

"""
    需求:讓剛才的股票行、日期列反過來,變成日期行,股票列
"""
# 在轉換形狀的時候,一定要注意陣列的元素匹配
a2 = stock_change.reshape([10, 8])  # 只是將形狀進行了修改,但並沒有將行列進行轉換
print(a2)
a3 = stock_change.reshape([-1, 20])  # 陣列的形狀被修改為: (4, 20), -1: 表示通過待計算
print(a3)
# 將陣列的行、列進行互換
a4 = stock_change.shape
print(a4)
a5 = stock_change.T.shape
print(a5)
a6 = stock_change.resize([10, 8])
print(a6)

a7 = stock_change.astype(np.int32)  # 型別修改
print(a7)
arr = np.array([[[1, 2, 3], [4, 5, 6]], [[12, 3, 34], [5, 6, 7]]])
print(arr.tostring())

temp = np.array([[1, 2, 3, 4], [3, 4, 5, 6]])
print(np.unique(temp))  # 陣列的去重