ndarray 的創建和各種數據類型
創建
由一維數組創建
import numpy as np
data = [6,8,2,3,4,4]
arr = np.array(data)
print(arr)
arr.ndim
類型 |
說明 |
array |
將輸入數據(列表、元組、數組或其它序列類型)轉換為ndarray。要么推斷出dtype, 要么顯示指定dtype。默認直接復制輸入數據。 |
asarray |
將輸入轉換為darray,如果輸入本身就是一個ndarray就不進行復制。 |
arange |
類似于內置的range,但返回一個ndarray而不是列表。 |
ones, ones_like |
根據指定形狀和dtype創建一個全1數組。ones_like以另一個數組為參數,并根據其形 狀和dtype創建一個全1數組。 |
zeros, zeros_like |
類似于ones和ones_like,只不過產生的是全0數組而已。 |
empty, empty_like |
創建數組,只分配內存空間但不填充任何值。 |
eye, identity |
創建一個正方的N * N單位矩陣 |
多維數組內存結構
普通二維數組創建
data = [[1,2,3,4],[5,6,7,8.0]]
arr = np.array(data)
print(arr)
arr.shape
arr.dtype
arr.ndim
zeros
np.zeros(10)
np.zeros((3,4))
empty 未初始化的數組
np.empty((2,2,3))
np.empty((2,2,3),int)
ones
np.ones((2,3))
np.ones((2,3),int)
arange
np.arange(10)
生成數組時指定數據類型
arr = np.array([1,2,3],dtype = np.int32)
arr = np.array([1,2,3],dtype = np.float32)
print(arr)
astype
int_arr = np.array([1,2,3,4,5])
int_arr.dtype
float_arr = int_arr.astype(dtype = np.float32 )
float_arr.dtype
假如是有浮點型向整形轉換 小數部分會被舍棄
float_arr = np.array([2.2,3.3,4.4,5.5])
int_arr = float_arr.astype(dtype = np.int)
print(float_arr)
把字符串序列轉化為數組
str_arr = np.array(['1.1','2.2','3.3','4.4'],dtype = np.string_)
str_arr
float_arr = str_arr.astype(dtype = np.float32)
print(float_arr)
print(float_arr.dtype)
把其他數組的數據類型作為astype的參數
int_arr = np.arange(10)
float_arr2 = int_arr.astype(float_arr.dtype)
print(float_arr2)
print(float_arr2.dtype)
數組和標量之間的運算
大小相等的數組之間的任何算術運算都會將運算應用到元素級
數組與標量的算術運算也會將那個標量值傳播到各個元素
arr = np.array([[1,2,3],[4,5,6]])
arr.shape
print(arr)
print(arr*arr)
print(arr+arr)
print(arr-arr)
print(arr*3)
print(1/arr)
print(arr**0.5)