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