生活随笔
收集整理的這篇文章主要介紹了
NumPy - ndarray
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ndarray——N維數組 NumPy中基本的數據結構; 所有元素是同一種類型; 別名為array; 利于節省內存和提高CPU計算時間; 有豐富的函數。ndarray數組屬性 維度稱為軸,軸的個數稱為秩(rank)。 縱向為第0軸,橫向為第1軸(axis)
基本屬性說明 ndarray.shape 維度 ndarray.ndim 秩 ndarray.size 元素總個數 ndarray.dtype 元素類型 ndarray.itemsize 元素字節大小
創建方法說明 arange array copy empty empty_like eye fromfile fromfunction 從一個函數來創建數組 identity linspace 從起始點到終止點以及個數確定情況下創建一個等差數組 logspace mgrid ogrid ones ones_like r zeros zeros_like
# array創建ndarray
x = np.array([(1,2,3), (4,5,6)])x
Out[48]:
array([[1, 2, 3],[4, 5, 6]])
# arange創建ndarray
y = np.arange(1,10,0.5)y
Out[54]:
array([1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5, 5. , 5.5, 6. , 6.5, 7. ,7.5, 8. , 8.5, 9. , 9.5])
常用操作說明 reshape 不改變原數組 resize 改變原數組 vstack 在垂直方向上拼接 hstack 在水平方向上拼接
切片:
x
Out[55]:
array([[1, 2, 3],[4, 5, 6]])print(x[:, [0,1]]) #第一維表示行,第二維表示列 >第一維不寫,表示行都要
[[1 2][4 5]]print(x[1, [0,1]])
[4 5]print(x[[0,1], :])
[[1 2 3][4 5 6]]
對于形狀不相似的數組,采用廣播思想:
a = np.array([1,2,3])b = np.array([[1,2,3], [4,5,6]])a + b
Out[63]:
array([[2, 4, 6],[5, 7, 9]])
ndarray的運算 axis = 0 #列 axis = 1 #行
函數說明 sum 求和 mean 平均值 std 標準差 var 方差 min 返回最小值 max 返回最大值 argmin 返回最小值的索引 argmax 返回最大值的索引 cumsum cumprod
常用函數說明 dot 矩陣內積 linalg.det 行列式 linalg.inv 逆矩陣 linalg.solve 多元一次方程組求根 linalg.eig 求特征值和特征向量
ndarray的ufunc(通用)函數 ufunc(universal function)是一種能對數組的每個元素進行操作的函數。NumPy內置的許多ufunc函數都是在C語言級別實現的,計算速度非??臁?br /> 在數據量比較大的時候,同一個任務盡量選用Numpy中的通用函數來處理: add, all, any, arange, apply_along_axis, argmax, argmin, argsort, average, bincount, ceil, clip, conj, corrcoef, cov, cross, cumprod, cumsum, diff, dot, exp, floor,…
# 計算一組數的sin(t)的二次方import time
import math
import numpy as np# math庫函數執行時間
x = np.arange(0,100,0.01)
t_m1 = time.clock()
for i,t in enumerate(x):x[i] = math.pow((math.sin(t)), 2)
t_m2 = time.clock()# 通用函數執行時間
y = np.arange(0, 100, 0.01)
t_n1 = time.clock()
y = np.power(np.sin(y), 2)
y = np.arange(0,100,0.01)
t_n2 = time.clock()print('Running time of math:', t_m2-t_m1)
print('Running time of numpy:', t_n2-t_n1)
創作挑戰賽 新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
以上是生活随笔 為你收集整理的NumPy - ndarray 的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網站內容還不錯,歡迎將生活随笔 推薦給好友。