Numpy之ndarray的查询和修改 - 索引和切片

Python021

Numpy之ndarray的查询和修改 - 索引和切片,第1张

In [1]:

In [2]:

Out[2]:

In [6]:

Out[6]:

In [7]:

Out[7]:

In [8]:

Out[8]:

In [9]:

Out[9]:

In [10]:

Out[10]:

索引查询

In [14]:

Out[14]:

In [17]:

Out[17]:

In [36]:

Out[36]:

In [19]:

Out[19]:

切片查询

In [20]:

Out[20]:

In [23]:

Out[23]:

In [26]:

Out[26]:

In [28]:

Out[28]:

In [30]:

Out[30]:

In [31]:

Out[31]:

查询 [5, 7]

属于同一行

In [34]:

Out[34]:

查询 [5, 17]

属于同一列

In [38]:

Out[38]:

查询

In [39]:

Out[39]:

In [40]:

Out[40]:

In [41]:

Out[41]:

查询 [5,15]

各个维度索引都对不上

In [43]:

Out[43]:

In [46]:

Out[46]:

查询 array([ 4, 18, 11])

In [47]:

Out[47]:

In [50]:

Out[50]:

In [53]:

Out[53]:

调节各个维度的索引顺序就是一种变相查询

In [54]:

Out[54]:

单个维度调整顺序

In [57]:

Out[57]:

In [60]:

Out[60]:

In [59]:

Out[59]:

多个维度同时调整顺序

In [67]:

Out[67]:

广播运算

向量化运算,并行运算,省掉遍历

In [71]:

Out[71]:

类似python的浅拷贝,深拷贝

修改 赋值、索引、切片后的新数组,原数组会变

内存里只维护了一份数据

In [72]:

Out[72]:

In [73]:

Out[73]:

In [75]:

Out[75]:

In [76]:

Out[76]:

In [81]:

Out[81]:

In [82]:

Out[82]:

In [83]:

Out[83]:

In [84]:

Out[84]:

修改 赋值、索引、切片后的新数组,原数组不变

内存里单独复制了一份

查询时,两层括号,赋值给新变量时副本模式(间接查询)

In [85]:

Out[85]:

In [88]:

Out[88]:

In [89]:

Out[89]:

常用:copy()副本

In [90]:

Out[90]:

In [91]:

Out[91]:

In [92]:

Out[92]:

有的,我正好也在做类似的程序。

PYTHON中引入NUMPY的第三方库,矩阵可以用ndarray类型代替,ndarray是numpy的默认类型。

ndarray这个类型的对象,有where函数可以用。你可以搜索一下这个函数的用法