NumPy--ndarray 的創建和各種數據類型

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)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容