小編寫這篇文章的主要目的,是給大家做出一個比較詳細(xì)的介紹,介紹關(guān)于python中,ndarray數(shù)組索引和切片是怎么去進行使用的呢?具體的使用方法是什么呢?下面就給大家詳細(xì)的介紹下。
索引和切片相當(dāng)于是對數(shù)組中內(nèi)容的讀(read)或者查詢(inquiry)。是我們獲取有用信息(demanded infomation)的重要方法。
對于索引
對于1維數(shù)組:在數(shù)組名的后面用中括號[]包括索引編號,括號中填寫所查詢數(shù)組的編碼。比如:data[1]
對于n維數(shù)組:有兩種方式
第一種:用列表表示所查詢數(shù)的坐標(biāo)值,如data_2dim[1,0]
第二種:把多維數(shù)組看成一位數(shù)組套娃,依次取值,如data_2dim[1][0]
對于切片
對于1維數(shù)組:在數(shù)組名后加上中括號[],在括號中填寫切片的范圍,m:n注意這個式子用冒號作為分隔符,表示的意義是m≤index<n,如:data[2:4];特別要注意的是m和n如果省略了,則默認(rèn)m=0,n=length(array),也就是說默認(rèn)是第一位和最后一位。這個和matlab中的冒號表達式是不一樣的。
對于n維數(shù)組:把多維數(shù)組看成一位數(shù)組套娃,依次取值,要注意的是,多維數(shù)組的切片往往還是多維數(shù)組,如果需要得到具體某一個元素,則在切片之后還要進行索引操作。
可以在一下代碼中演示索引和切片操作:
import numpy as np data=np.array([0,1,2,3,4,5]) print(data[1]) print(data[2:4]) data_2dim=np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]]) print(data_2dim[1,0]) print(data_2dim[1][0]) print(data_2dim[1:4]) print(data_2dim[1:4][1:3][1][2])
運行結(jié)果如下:
1
[2 3]
4
4
[[4 5 6]
[7 8 9]
[10 11 12]]
12
[Finished in 1.3s]
總結(jié)一下,索引和切片都是對數(shù)組讀的操作,都使用方括號[](squre bracket)進行編號的框定。
特別要注意的是切片存放的變量和原來的數(shù)組變量在本質(zhì)上共享同一片內(nèi)存,如果修改了切片存放的變量,那么原來的數(shù)組的對應(yīng)元素也會對應(yīng)修改。如以下代碼所示:
data=np.arange(10) data_slice=data[3:6] print(data) print(data_slice) data_slice[2]=100 print(data) print(data_slice)
結(jié)果如下所示:
[0 1 2 3 4 5 6 7 8 9]
[3 4 5]
[0 1 2 3 4 100 6 7 8 9]
[3 4 100]
[Finished in 2.2s]
如果需要在修改切片的同時不改變原來數(shù)組中的數(shù)據(jù),可以使用.copy()方法。對上述代碼稍作修改,結(jié)果如下:
data=np.arange(10) data_slice=data[3:6].copy() print(data) print(data_slice) data_slice[2]=100 print(data) print(data_slice)
[0 1 2 3 4 5 6 7 8 9]
[3 4 5]
[0 1 2 3 4 5 6 7 8 9]
[3 4 100]
[Finished in 2.5s]
綜上所述,關(guān)于這篇文章,小編就給大家介紹到這里了,希望可以給大家?guī)砀嗟囊粋€幫助。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/128185.html
摘要:一一維數(shù)組的索引與切片對象的內(nèi)容可以通過索引或切片來訪問和修改,與中的切片操作一樣。在指定位置分裂數(shù)組本身作為一個參數(shù),分類位置構(gòu)成的列表作為第二個參數(shù)同時也可以對一維數(shù)組和多位數(shù)組進行操作。 1.概述 今天我們來講一下Numpy數(shù)組的索引與切片,numpy數(shù)組的索引與切片和Python中的切片與索引的作用相同,可以快速的取出數(shù)據(jù),進行下一步的運用或者查看,但是兩種切片還有一些不同的地...
摘要:提供了使我們能夠快速便捷地處理結(jié)構(gòu)化數(shù)據(jù)的大量數(shù)據(jù)結(jié)構(gòu)和函數(shù)。結(jié)構(gòu)化數(shù)據(jù),例如多維數(shù)據(jù)矩陣表格行數(shù)據(jù),其中各列可能是不同的類型字符串?dāng)?shù)值日期等?;A(chǔ)數(shù)組和矢量計算高性能科學(xué)計算和數(shù)據(jù)分析的基礎(chǔ)包。 本篇內(nèi)容為整理《利用Python進行數(shù)據(jù)分析》,博主使用代碼為 Python3,部分內(nèi)容和書本有出入。 利用 Python 進行科學(xué)計算的實用指南。本書重點介紹了用于高效解決各種數(shù)據(jù)分析問...
摘要:有三種可用的索引字段訪問,基本切片,高級索引。基本切片和索引基本切片將的切片基本概念擴展到維?;厩衅傻乃袛?shù)組始終是原始數(shù)組的視圖。序列切片的標(biāo)準(zhǔn)規(guī)則適用于基于每維的基本切片包括使用步驟索引。因此,在基本切片下的行為。 https://docs.scipy.org/doc/nu... 索引 ndarrays可以使用標(biāo)準(zhǔn)Python x[obj]語法對其進行索引 ,其中x是數(shù)組,o...
摘要:注意和標(biāo)準(zhǔn)庫類并不相同,后者只處理一維數(shù)組和提供少量功能。然而,指定參數(shù)你可以吧運算應(yīng)用到數(shù)組指定的軸上通用函數(shù)提供常見的數(shù)學(xué)函數(shù)如和。在中,這些叫作通用函數(shù)。函數(shù),另一方面,將一維數(shù)組以行組合成二維數(shù)組。 原文:Quickstart tutorial 譯者:Reverland 來源:試驗性NumPy教程(譯) 2.1 先決條件 在閱讀這個教程之前,你多少需要知道點python。如...
摘要:在下面的例子中,我們創(chuàng)建了一個二維數(shù)組并插入了兩列輸出如果沒有使用參數(shù),則會輸出這就是數(shù)組結(jié)構(gòu)的扁平化。下面的例子中我們從二維數(shù)組中刪除了一行輸出在方法中,首先給出數(shù)組,然后給出要刪除的元素的索引。數(shù)組被傳遞給函數(shù)。 NumPy 是一個Python 庫,用于 Python 編程中的科學(xué)計算。在本教程中,你將學(xué)習(xí)如何在 NumPy 數(shù)組上以多種方式添加、刪除、排序和操作元素。 NumPy...
閱讀 923·2023-01-14 11:38
閱讀 895·2023-01-14 11:04
閱讀 756·2023-01-14 10:48
閱讀 2055·2023-01-14 10:34
閱讀 961·2023-01-14 10:24
閱讀 840·2023-01-14 10:18
閱讀 510·2023-01-14 10:09
閱讀 588·2023-01-14 10:02