利用Python进行数据分析

神奇索引

2019-01-15  本文已影响4人  庵下桃花仙

神奇索引是 NumPy 中的术语,描述使用整数数组进行数据索引。

In [22]: arr = np.empty((8, 4))

In [23]:

In [23]: for i in range(8):
    ...:     arr[i] = i
    ...:

In [24]: arr
Out[24]:
array([[0., 0., 0., 0.],
       [1., 1., 1., 1.],
       [2., 2., 2., 2.],
       [3., 3., 3., 3.],
       [4., 4., 4., 4.],
       [5., 5., 5., 5.],
       [6., 6., 6., 6.],
       [7., 7., 7., 7.]])

In [25]: arr[[4, 3, 0, 6]]
Out[25]:
array([[4., 4., 4., 4.],
       [3., 3., 3., 3.],
       [0., 0., 0., 0.],
       [6., 6., 6., 6.]])

In [26]:

In [26]: arr[[-3, -5, -7]]
Out[26]:
array([[5., 5., 5., 5.],
       [3., 3., 3., 3.],
       [1., 1., 1., 1.]])

In [27]: arr = np.arange(32).reshape((8, 4))

In [28]: arr
Out[28]:
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15],
       [16, 17, 18, 19],
       [20, 21, 22, 23],
       [24, 25, 26, 27],
       [28, 29, 30, 31]])

In [29]: arr[[1, 5, 7, 2], [0, 3, 1, 2]]
Out[29]: array([ 4, 23, 29, 10])

神奇索引与切片不同,它总是将数据复制到一个新的数组中。

上一篇下一篇

猜你喜欢

热点阅读