数据分析——Numpy索引和切片

160 阅读1分钟

作业1

将np.arange(10)数组中的奇数全部都替换成-1。

  • 代码
import numpy as np
arr1 = np.arange(10)
arr1[1::2] = -1
print(arr1)
  • 运行结果 在这里插入图片描述

作业2

4行4列的数组(比如:np.arange(16).reshape((4,4))),请将其中对角线的数取出来形成一个一维数组。提示(使用np.eye)。

  • 思路 考虑到np.eye的特性是对角线的数值为1,其余为0,可以方便的利用布尔索引取出该4行4列数组的对角线值。
  • 代码
import numpy as np
arr2 = np.arange(16).reshape((4,4))
print(arr2[np.eye(4)==1])
  • 运行结果 在这里插入图片描述

作业3

4行4列的数组(比如:np.arange(16).reshape((4,4))),请取出其中(0,0),(1,2),(3,2)的点。

  • 代码
import numpy as np
arr3 = np.arange(16).reshape((4,4))
print(arr3[0,0],arr3[1,2],arr3[3,2])
  • 运行结果 在这里插入图片描述

作业4

有一个4行4列的数组(比如:np.arange(16).reshape((4,4))),请取出其中第2-3行(包括第3行)的所有数据。

  • 代码
import numpy as np
arr4 = np.arange(16).reshape((4,4))
print(arr4[1:3])
  • 运行结果 在这里插入图片描述

作业5

8行9列的数组(比如:np.arange(72).reshape((8,9))),请将其中第1-5行(包含第5行)的第8列大于3的数全部都取出来。

  • 代码
import numpy as np
arr5 = np.arange(72).reshape((8,9))
arr6 = arr5[:5,7]
print(arr6[arr6>3])
  • 运行结果 在这里插入图片描述