多语言展示
当前在线:1560今日阅读:97今日分享:45

Python基础(Numpy切片)

Python基础Numpy切片功能
工具/原料
1

Python

2

安装Numpy模块

方法/步骤
1

打开Python IDE,先导入Numpy模块import Numpy as np

2

先输入数组>>> a= np.arange(10)>>> aarray([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

3

进行切片>>> a[5]#用整数作为下标可以获得数组中的某个元素5>>> a[3:5]#用切片作为下标可以获得数组的一部分元素,注意包括首位,但不包含尾部array([3, 4])>>> a[:5]#切片中省略开始下标,表示从a[0]开始到a[5]结束,但不包含a[5]array([0, 1, 2, 3, 4])

4

>>> a[:-1]#下标可以是负数,数组倒数第一位为-1,a[:-1]表示从第一位一直取到-1的位置,但不包括-1位的数据array([0, 1, 2, 3, 4, 5, 6, 7, 8])

5

>>> a[2:4]=100,101#可以通过数组下标赋值来改变数组中数据>>> aarray([  0,   1, 100, 101,   4,   5,   6,   7,   8,   9])

6

>>> a[1:-1:2]#从数组下标1取到-1位置,且步长为2,且不包含-1位置数据array([  1, 101,   5,   7])

7

>>> a[::-1]#省略切片的开始下标和结束下标,步长为-1,表示整个数组头尾颠倒array([  9,   8,   7,   6,   5,   4, 101, 100,   1,   0])

8

>>> a[5:1:-2]#起始点为a[5],终点位置为a[1],且不包含a[1],步长为-2指倒着数array([  5, 101])

9

>>> x=np.arange(10,1,-1)#arange函数类似于列表操作,从10倒数取到1,步长为-1>>> xarray([10,  9,  8,  7,  6,  5,  4,  3,  2])

10

>>> b=x[[3,3,-3,8]]#获取数组x中下标为3、3、1、8的4个元素,组成新的数组,下标可以是负数>>> barray([7, 7, 4, 2])

11

>>> b[2]=100#通过赋值改变数组>>> barray([  7,   7, 100,   2])#数组b发生改变>>> x#x不会变化array([10,  9,  8,  7,  6,  5,  4,  3,  2])>>> x[[3,5,1]]=-1,-2,-3#通过赋值修改数组>>> xarray([10, -3,  8, -1,  6, -2,  4,  3,  2])>>> np.array([3,3,1,8])array([3, 3, 1, 8])>>> x[np.array(np.array([3,3,1,8]))]array([7, 7, 9, 2])

12

>>> x[np.array([[3,3,1,8],[3,3,-3,8]])]#二维的情况array([[7, 7, 9, 2],[7, 7, 4, 2]])>>> x[[3,3,1,8,3,3,-3,8]].reshape(2,4) # 改变数组形状array([[7, 7, 9, 2],[7, 7, 4, 2]])

13

array([5, 4, 3, 2, 1])>>> x[np.array([True,False,True,False])]array([5, 3])>>> x[np.array([True,False,True,False,False])]#布尔数组中下标为0、2 的元素为True,因此获取数组x 中下标为0、2 的元素。array([5, 3])>>> x[[True, False, True, False, False]]array([4, 5, 4, 5, 5])>>> # 如果是布尔列表,则把True 当作1, False 当作0,按照整数序列方式获取数组x 中的元素>>> # 布尔数组下标也可以用来修改元素,True为修改,False为不修改>>> x[np.array([True, False, True, True])] = -1, -2, -3>>> xarray([-1, 4, -2, -3, 1])

注意事项
1

Python环境安装好、Numpy模块安装好

2

认真执行代码

推荐信息