日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NumPy - ndarray

發布時間:2024/1/17 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NumPy - ndarray 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • ndarray——N維數組
    NumPy中基本的數據結構;
    所有元素是同一種類型;
    別名為array;
    利于節省內存和提高CPU計算時間;
    有豐富的函數。
  • ndarray數組屬性
    維度稱為軸,軸的個數稱為秩(rank)。
    縱向為第0軸,橫向為第1軸(axis)
基本屬性說明
ndarray.shape維度
ndarray.ndim
ndarray.size元素總個數
ndarray.dtype元素類型
ndarray.itemsize元素字節大小
  • ndarray的創建
創建方法說明
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])
  • ndarray的操作
常用操作說明
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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。