1. 程式人生 > >python numpy庫 resize()函式與reshape()函式

python numpy庫 resize()函式與reshape()函式

import numpy as np

# matrix = np.indices((3, 2))  # 建立3*2的矩陣
# print(matrix)

# ndarray = np.random.rand(2,8)#這樣建立的是浮點型別
ndarray = np.mat(np.random.randint(2, 8, size=(2, 8), dtype=int))  # 用mat很容易建立矩陣
print(ndarray)

print(ndarray.reshape(4, 4))  # 總結:reshape()函式用的時候m*n即矩陣的元素個數要相同,reshap()不改變ndarray
print(ndarray)
new_shape = ndarray.reshape(4, 4)
print(new_shape)
print(type(ndarray))
print(np.resize(ndarray, (1, 16)))

# 總結:①當resize()是用np呼叫的時候,這時需要第一個引數是矩陣本身,然後記得加括號,是改正後的矩陣維度
# 這時有返回值,可以打印出
print(ndarray.resize((1, 16)))  # ②當resize()是矩陣自己呼叫自己時,函式沒有返回值,因此是None  # 但是也改變了ndarray的值,這時再列印ndarray就是被resize()改變後的值
print(ndarray)