数据分析 numpy数组_05索引

数据分析 numpy数组_05-numpy数组操作

1、索引

1、调用slice函数,指定start,stop,step

2、通过'',指定start,stop,step

3、通过'',来使选择元组的长度与数组的维度相同的ndarra,[行,列]!

4、通过整数数组索引指定位置的元素

5、通过''''索引

6、布尔索引,使用布尔运算符筛选符合条件的元素

7、花式索引,利用整数数组进行索引

  1、调用slice函数,指定start,stop,step

import numpy as np

x = np.arange(12)
y = slice(2, 10, 2)
print(x[y])

  2、通过'',指定start,stop,step

import numpy as np

x = np.arange(12)
print(x[2:10:2])

  3、通过'',来使选择元组的长度与数组的维度相同的ndarra,[行,列]!

import numpy as np

x = np.arange(12)
print(x[..., 2]) 

  4、通过整数数组索引指定位置的元素

import numpy as np

x = np.arange(12)
y = x.reshape(3, 4)
print(y[[0, 1, 2], [0, 1, 0]])    # 获取数组中(0,0),(1,1)和(2,0)位置处的元素
import numpy as np

x = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]])
print(x)
rows = np.array([[0, 0], [3, 3]])    # 行索引
cols = np.array([[0, 2], [0, 2]])    # 列索引
y = x[rows, cols]
print('这个数组的四个角元素是:')
print(y)

  5、通过':''…'索引,

import numpy as np
 
x = np.array([[1,2,3], [4,5,6],[7,8,9]])
y = x[1:3, 1:3]
z = y[1:3,[1,2]]
i = x[...,1:]
print(y)
print(z)
print(i)

  6、布尔索引,通过布尔运算符筛选符合条件的元素

import numpy as np 
 
x = np.array([[  0,  1,  2],[  3,  4,  5],[  6,  7,  8],[  9,  10,  11]])  
print ('我们的数组是:')
print (x)
print ('\n')
# 现在我们会打印出大于 5 的元素  
print  ('大于 5 的元素是:')
print (x[x >  5])

  7、花式索引,用整数数组进行索引。花式索引根据索引数组的值作为目标数组的某个轴的下标来取值。花式索引跟切片不一样,它总是将数据复制到新数组中。对于使用一维整型数组作为索引,如果目标是一维数组,那么索引的结果就是对应位置的元素;如果目标是二维数组,那么就是对应下标的行。

 

import numpy as np

x = np.arange(32).reshape((8, 4))
print(x[[4, 2, 1, 7]])         # 顺序索引数组,因为是二位数组,所以4,2,1,7分别为二位数组的第5,3,2,8行
print(x[[-4, -2, -1, -7]])     # 倒序索引数组,因为是二位数组,所以-4,-2,-1,-7分别为二位数组的第5,7,8,2行

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

posted @ 2019-12-09 19:12  石斛  阅读(197)  评论(0编辑  收藏  举报