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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python中ndarray对象实例化_Python数据分析之Numpy学习 2——NumPy 基础 ndarray对象

發布時間:2023/12/10 python 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中ndarray对象实例化_Python数据分析之Numpy学习 2——NumPy 基础 ndarray对象 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python數據分析之Numpy學習 2 —— NumPy 基礎學習

NumPy(Numerical Python)是高性能科學計算和數據分析的基礎包。NumPy的主要對象是同構數據多維容器(homogeneous multidimensional array)——ndarray,也就是說每一個ndarray都是一個相同類型元素組成的表格(二維)。在NumPy中維度(dimensions)叫做軸(axes),軸的個數叫做秩(rank)。軸這個概念必須牢記,否則放棄吧。首先軸是從0開始計的,0代表最高維,次高維是1,以此類推。

約定:

import numpy as np

ndarray對象的常用屬性

創建ndarray

函數說明

np.array(data,dtype=None, order=None)

將數據data(列表、元組、數組或其他序列類型)轉換為ndarray。要么推斷出dtype,要么顯示指定dtype。默認直接復制數據。order默認是A(可能是C可能是F還可能是其它)

np.asarray(data, dtype=None, order=None)

將輸入數據轉換為ndarray,data同上還可以是ndarray,如果是ndarray就不進行復制。dtype同上,order是重塑中行優先C還是列優先F,默認C語言風格。

np.arange(10,30,5,dtype=None)

開始,結束,步長和內置的range相同

np.ones( (2,3,4), dtype=None) 、np.ones_like(a)

根據指定的形狀和dtype創建一個全1的數組。ones_like以另一個數組為參數,創建形狀和dtype相同的全1數組。

np.zeros() 、np.zeros_like()

全0數組,類似ones和ones_like。

np.empty() 、np.empty_like()

創建數組,只分配內存空間但不填充任何值,所以返回的是垃圾值。類似ones和ones_like。

np.eye(N, M=None, k=0, dtype=) 、np.identity(n, dtype=None)

eye創建的是N*M的數組,默認M=N,k取整數,正數對角線向上移k,負數對角線向下移k。identity創建一個N*N單位矩陣(對角線為1,其余全0)的數組

示例 array

numpy.array(object, dtype=None, copy=True, order=None, subok=False, ndmin=0)

import numpy as npa = np.array([1,2,3]) print a

輸出如下:

[1, 2, 3]

# 多于一個維度 import numpy as npa = np.array([[1, 2], [3, 4]]) print a

輸出如下:

[[1, 2][3, 4]]

# dtype 參數 import numpy as npa = np.array([1, 2, 3], dtype = complex) print a

輸出如下:

[ 1.+0.j, 2.+0.j, 3.+0.j]

索引,切片和迭代

一維數組可以被索引、切片和迭代,就像列表和其它Python序列。

>>> a = arange(10)**3>>> aarray([ 0, 1, 8, 27, 64, 125, 216, 343, 512, 729])>>> a[2]8>>> a[2:5]array([ 8, 27, 64])>>> a[:6:2] = -1000 # equivalent to a[0:6:2] = -1000; from start to position 6, exclusive, set every 2nd element to -1000>>> aarray([-1000, 1, -1000, 27, -1000, 125, 216, 343, 512, 729])>>> a[ : :-1] # reversed aarray([ 729, 512, 343, 216, 125, -1000, 27, -1000, 1, -1000])>>> for i in a:... print i**(1/3.),...nan 1.0 nan 3.0 nan 5.0 6.0 7.0 8.0 9.0

多維數組可以每個軸有一個索引。這些索引由一個逗號分隔的元組給出。

>>> def f(x,y):... return 10*x+y...>>> b = fromfunction(f,(5,4),dtype=int)>>> barray([[ 0, 1, 2, 3], [10, 11, 12, 13], [20, 21, 22, 23], [30, 31, 32, 33], [40, 41, 42, 43]])>>> b[2,3]23>>> b[0:5, 1] # each row in the second column of barray([ 1, 11, 21, 31, 41])>>> b[ : ,1] # equivalent to the previous examplearray([ 1, 11, 21, 31, 41])>>> b[1:3, : ] # each column in the second and third row of barray([[10, 11, 12, 13], [20, 21, 22, 23]])

組合(stack)不同的數組

幾種方法可以沿不同軸將數組堆疊在一起:

>>> a = floor(10*random.random((2,2)))>>> aarray([[ 1., 1.], [ 5., 8.]])>>> b = floor(10*random.random((2,2)))>>> barray([[ 3., 3.], [ 6., 0.]])>>> vstack((a,b))array([[ 1., 1.], [ 5., 8.], [ 3., 3.], [ 6., 0.]])>>> hstack((a,b))array([[ 1., 1., 3., 3.], [ 5., 8., 6., 0.]])

函數

column_stack

以列將一維數組合成二維數組,它等同與

vstack

對一維數組。

>>> column_stack((a,b)) # With 2D arraysarray([[ 1., 1., 3., 3.], [ 5., 8., 6., 0.]])>>> a=array([4.,2.])>>> b=array([2.,8.])>>> a[:,newaxis] # This allows to have a 2D columns vectorarray([[ 4.], [ 2.]])>>> column_stack((a[:,newaxis],b[:,newaxis]))array([[ 4., 2.], [ 2., 8.]])>>> vstack((a[:,newaxis],b[:,newaxis])) # The behavior of vstack is differentarray([[ 4.], [ 2.], [ 2.], [ 8.]])

row_stack

函數,另一方面,將一維數組以行組合成二維數組。

對那些維度比二維更高的數組,

hstack

沿著第二個軸組合,

vstack

沿著第一個軸組合,

concatenate

允許可選參數給出組合時沿著的軸。

函數和方法(method)總覽

這是個NumPy函數和方法分類排列目錄。這些名字鏈接到NumPy示例,你可以看到這些函數起作用。[^5]

創建數組

arange, array, copy, empty, empty_like, eye, fromfile, fromfunction, identity, linspace, logspace, mgrid, ogrid, ones, ones_like, r , zeros, zeros_like

轉化

astype, atleast 1d, atleast 2d, atleast 3d, mat

操作

array split, column stack, concatenate, diagonal, dsplit, dstack, hsplit, hstack, item, newaxis, ravel, repeat, reshape, resize, squeeze, swapaxes, take, transpose, vsplit, vstack

詢問

all, any, nonzero, where

排序

argmax, argmin, argsort, max, min, ptp, searchsorted, sort

運算

choose, compress, cumprod, cumsum, inner, fill, imag, prod, put, putmask, real, sum

基本統計

cov, mean, std, var

基本線性代數

cross, dot, outer, svd, vdot

總結

以上是生活随笔為你收集整理的python中ndarray对象实例化_Python数据分析之Numpy学习 2——NumPy 基础 ndarray对象的全部內容,希望文章能夠幫你解決所遇到的問題。

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