欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Numpy ndarray 多維數(shù)組對(duì)象的使用

 更新時(shí)間:2021年02月10日 11:23:12   作者:王小王-123  
這篇文章主要介紹了Numpy ndarray 多維數(shù)組對(duì)象的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

介紹

目前它是Python數(shù)值計(jì)算中最為重要的基礎(chǔ)包,將numpy的數(shù)組的對(duì)象作為數(shù)據(jù)交互的通用語(yǔ),一般我們要充分理解好矩陣計(jì)算的原理,這需要你要有一些線性代數(shù)的基礎(chǔ)知識(shí)。在對(duì)數(shù)據(jù)處理、清洗、構(gòu)造子集、過(guò)濾、變換以及其他計(jì)算的過(guò)程快速的進(jìn)行向量化計(jì)算,后續(xù)也會(huì)介紹R語(yǔ)言,因?yàn)镽語(yǔ)言就是一個(gè)原生態(tài)基于向量化計(jì)算的編程語(yǔ)言。

Numpy的核心特征之一就是一個(gè)N維數(shù)組對(duì)象——ndarray,這是一個(gè)快速靈活的大型數(shù)據(jù)集容器,可以進(jìn)行科學(xué)數(shù)值計(jì)算。

代碼操作

import numpy as np

導(dǎo)入好包之后,我們隨機(jī)生成一個(gè)2*3的數(shù)組,2行3列的隨機(jī)數(shù)組

data=np.random.randn(2,3)

對(duì)數(shù)組的簡(jiǎn)單操作

data*10
 
>>array([[ 9.00839244, -17.67421607, -0.03125454],
  [ 19.79906711, -2.62145167, -12.55106031]])
 
data+data
 
>>array([[ 1.80167849, -3.53484321, -0.00625091],
  [ 3.95981342, -0.52429033, -2.51021206]])
 
data.shape
 
>>(2, 3)
 
data.dtype
 
>>dtype('float64')

生成ndarray

生成數(shù)組的最簡(jiǎn)單的方法就是使用array函數(shù),對(duì)于傳入的類型可以是其他任意的序列,如你傳入一個(gè)列表,那么它就會(huì)接收這個(gè)列表并轉(zhuǎn)換為數(shù)組類型,如果傳入的是多個(gè)列表那么它就會(huì)接收多個(gè),在線性代數(shù)里面我們叫這個(gè)是維度,比如下面的就是一個(gè)2行3列的矩陣。

data1=[[1,2,3],[4,5,6]]
 
arry1=np.array(data1)
 
arry1
 
>>array([[1, 2, 3],
  [4, 5, 6]])
 
arry1.ndim
 
>>2
 
arry1.shape
 
>>2, 3)

除了這個(gè)我們還可以使用其他的函數(shù)來(lái)創(chuàng)建數(shù)組,比如給定了長(zhǎng)度和形狀類型就會(huì)一次性創(chuàng)建完畢,這里是創(chuàng)建了一個(gè)2*3的元素是1的數(shù)組

np.ones((2,3))
>>array([[1., 1., 1.],
  [1., 1., 1.]])

numpy里面也有像Python range()函數(shù)一樣的效果——np.arange(),操作效果和Python的range函數(shù)有異曲同工之妙,start,stop,step都是可設(shè)置的。

對(duì)角矩陣生成

ndarray的數(shù)據(jù)類型

如何查看數(shù)組的數(shù)據(jù)類型以及如何進(jìn)行轉(zhuǎn)換,在numpy里面整型:int32,浮點(diǎn)型:float64.

Numpy 數(shù)組計(jì)算

基于numpy的數(shù)組計(jì)算在之前我也演示了一些,四則運(yùn)算,加減乘除,以及一些數(shù)組運(yùn)算,每一個(gè)數(shù)組與數(shù)組之間的計(jì)算都是元素相互對(duì)于的,并不是獨(dú)立的,這個(gè)是我們需要理解清楚的地方,有趣的是,我們需要比較兩個(gè)相同維數(shù)的數(shù)組,我們可以利用> < = 來(lái)查看,它返回的是布爾值。

基礎(chǔ)索引和切片

在一維的數(shù)組里面,和Python列表里面的所有一樣,如果是高維的就有所不同了,就需要利用多重索引了,這里的變量和上面的一樣

如果產(chǎn)生了一個(gè)三位的數(shù)組,比如一個(gè)2*2*3的數(shù)組,我們按照索引,可以自動(dòng)索引出來(lái)第一個(gè)的的數(shù)組

對(duì)于高維的數(shù)組的切片,我們需要注意的是,它的切片原理是按照數(shù)組里面的數(shù)組進(jìn)行切片的,比如一個(gè)二維數(shù)組(2*3*2)的,我們需要取出每個(gè)單位數(shù)組里面的第一個(gè)元素,我們應(yīng)該如何做

很明顯的我們可以看出多維數(shù)組的切片特點(diǎn):我這里抽象化為列表的特點(diǎn)來(lái)解釋,比如我們可以把多維數(shù)組看做是一個(gè)列表里面的多個(gè)列表,也就是嵌套列表,然后我們按照索引來(lái)取,上述例子就是首先取出兩個(gè)大的數(shù)組,然后從這個(gè)兩個(gè)大的數(shù)組里面再去前兩個(gè)數(shù)組,最后取出索引為0的元素,這樣層層遞減,一步一步的索引是numpy索引的特點(diǎn),之所以大數(shù)據(jù)技術(shù)之分析與計(jì)算,要用到矩陣計(jì)算的優(yōu)化,就是來(lái)源于它的分而治之的原理和特點(diǎn)。

布爾索引

其實(shí)就是對(duì)數(shù)組里面的值或元素進(jìn)行比較,之中返回布爾值即可

上述例子就是產(chǎn)生了一個(gè)一維的字符串的數(shù)組,然后我們通過(guò)比較得出布爾值來(lái)獲取data的值,自然就獲取到data[0]的數(shù)組啦

注意在Python里面我們可以用and or來(lái)判斷,在numpy里面我們需要&(and)|(or)來(lái)解決你的需求,記住喲

特殊索引

我們需要索引出不同位置的數(shù)組,這個(gè)時(shí)候我們還在一個(gè)一個(gè)的取出來(lái)嗎,當(dāng)然不是我們可以利用特殊的索引來(lái)解決這個(gè)問(wèn)題,比如下面的例子

下面我們來(lái)看看這個(gè)特殊索引的其他的用法

第一步我們我們按照索引取出對(duì)角線的元素,第二的一個(gè)我們想要得到一個(gè)二維的數(shù)組,我們?nèi)〕鲆粋€(gè)大數(shù)組里面索引位置分別為:1 5 7 2的一維數(shù)組然后我們利用索引位置的調(diào)換,把元素重新的進(jìn)行了排序。

數(shù)組的轉(zhuǎn)換和換軸

我們隨機(jī)生成一個(gè)0-15的元素組成3*5的一個(gè)數(shù)組,然后利用.T屬性,如果學(xué)過(guò)線性代數(shù)的小伙伴一定對(duì)這個(gè)不陌生,矩陣的轉(zhuǎn)置:把行變成列,把列變成行。

總結(jié)

在numpy的數(shù)組操作我們現(xiàn)在其實(shí)并沒(méi)有發(fā)現(xiàn)這個(gè)對(duì)我們的數(shù)據(jù)分析有什么用處,這個(gè)很正常。就像我們之前學(xué)習(xí)線性代數(shù),我們發(fā)現(xiàn)這個(gè)矩陣對(duì)我們并沒(méi)什么用,但是當(dāng)你使用MATLAB的時(shí)候才發(fā)現(xiàn)“書(shū)到用時(shí)方恨少”的道理。

到此這篇關(guān)于Numpy ndarray 多維數(shù)組對(duì)象的使用的文章就介紹到這了,更多相關(guān)Numpy ndarray 多維數(shù)組對(duì)象內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python容器使用的5個(gè)技巧和2個(gè)誤區(qū)總結(jié)

    Python容器使用的5個(gè)技巧和2個(gè)誤區(qū)總結(jié)

    在本篇文章里小編給大家整理的是關(guān)于Python容器使用的5個(gè)技巧和2個(gè)誤區(qū)的相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。
    2019-09-09
  • Python的“二維”字典 (two-dimension dictionary)定義與實(shí)現(xiàn)方法

    Python的“二維”字典 (two-dimension dictionary)定義與實(shí)現(xiàn)方法

    這篇文章主要介紹了Python的“二維”字典 (two-dimension dictionary)定義與實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Python模擬實(shí)現(xiàn)類似二維數(shù)組形式的二維字典功能,需要的朋友可以參考下
    2016-04-04
  • Python實(shí)現(xiàn)通過(guò)繼承覆蓋方法示例

    Python實(shí)現(xiàn)通過(guò)繼承覆蓋方法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)通過(guò)繼承覆蓋方法,結(jié)合實(shí)例形式分析了Python面向?qū)ο蟪绦蛟O(shè)計(jì)中采用子類覆蓋父類同名方法相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • python?中的?module?和?package

    python?中的?module?和?package

    這篇文章主要介紹了?python?中的?module?和?package?,文章基于Python的相關(guān)資料展開(kāi)對(duì)主題的詳細(xì)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-04-04
  • Python?設(shè)計(jì)模式中命令模式

    Python?設(shè)計(jì)模式中命令模式

    這篇文章主要介紹了Python?設(shè)計(jì)模式中的命令模式,命令模式的目的是解耦調(diào)用操作的對(duì)象和提供實(shí)現(xiàn)的對(duì)象,下文介紹具有一定參考價(jià)值,需要的小伙伴可以參考一下
    2022-02-02
  • python中ndarray數(shù)組的索引和切片的使用

    python中ndarray數(shù)組的索引和切片的使用

    本文主要介紹了python中ndarray數(shù)組的索引和切片的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Python對(duì)XML文件實(shí)現(xiàn)增刪改查操作

    Python對(duì)XML文件實(shí)現(xiàn)增刪改查操作

    這篇文章主要為大家詳細(xì)介紹了Python對(duì)XML文件進(jìn)行實(shí)現(xiàn)增刪改查操作的方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的可以了解一下
    2022-11-11
  • 使用selenium+chromedriver+xpath爬取動(dòng)態(tài)加載信息

    使用selenium+chromedriver+xpath爬取動(dòng)態(tài)加載信息

    這篇文章主要介紹了使用selenium+chromedriver+xpath爬取動(dòng)態(tài)加載信息
    2022-02-02
  • scrapy爬蟲(chóng)完整實(shí)例

    scrapy爬蟲(chóng)完整實(shí)例

    這篇文章主要介紹了scrapy爬蟲(chóng)完整實(shí)例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Python實(shí)現(xiàn)文字pdf轉(zhuǎn)換圖片pdf效果

    Python實(shí)現(xiàn)文字pdf轉(zhuǎn)換圖片pdf效果

    當(dāng)我們把word轉(zhuǎn)化為pdf,wps默認(rèn)轉(zhuǎn)化為文字pdf,而圖片pdf要會(huì)員。所以本文將通過(guò)Python語(yǔ)言實(shí)現(xiàn)文字pdf轉(zhuǎn)換圖片pdf,需要的可以參考一下
    2022-04-04

最新評(píng)論