Pythonnumpyndarray属性,索引,切片

 

一、ndarray 的重要属性

  • dtype属性:返回ndarray数组的数据类型,数据类型的种类。
  • ndim属性:返回数组维度的数量。
  • shape属性:返回数组对象的尺度,对于矩阵,即n行m列,shape是一个元组(tuple)。
  • size属性:返回用来保存元素的数量,相当于shape中nm的值。
  • T属性:返回数组转置。

 

二、切片

1. 一维切片

import numpy as np

arr_1d = np.arange(12)

arr_1d[:4]		# 省却起始,默认从0开始
arr_1d[6:11]
arr_1d[0:11:2]		# 指定步长为 2
arr_1d[12:6:-1]		# 反向切片

1. 二维切片

如果是多维数组,只需在每个维度之间用 ‘,’ 隔开。

import numpy as np
arr_2d = np.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]])
arr_2d[0:2, 0:2]

arr_2d[0:2, -3:]		#前2行,倒数第3列开始

arr_2d[-2:, ::2]		# 倒数第2行开始 列根据步长2,每隔一列取一列

 

三、索引

1. 一维数组索引

import numpy as np

arr_1d = np.arange(12)
arr_1d[4]  
arr_1d[-2]		# 反向索引
arr_1d[[2,4,6,7,8,9]]		# 同事索引多个

2. 二维数组索引

import numpy as np

arr_2d = np.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]])
arr_2d[1, 2]
arr_2d[-1, -1]		# 反向索引


# 如果索引比维度少的多维数组,则会获得一个子维数组
arr_2d[2]		# 取 index=2 的行
# out array([ 7,  8,  9, 10])

arr_2d[2][0]		#  index=2 的行后,再去index=0 的列
# out 7

arr_2d[[2,0]]		# 同时取 index =2 和 index=0 的行
# out array([[ 7,  8,  9, 10], [ 1,  2,  3,  4]])

3. 布尔索引

布尔索引就是根据条件筛选,判断每个元素在条件下是True还是False,也就是布尔值,当条件判断True时,返回。当条件判断为False时,过滤掉。

import numpy as np

arr_1d = np.arange(12)
arr_1d[[False, False, False, False, False,  True,  True,  True,  True, True,  True,  True]]
# out array([ 5,  6,  7,  8,  9, 10, 11])

arr_1d>=5
# out array([False, False, False, False, False,  True,
#  True,  True,  True, True,  True,  True])

arr_1d[arr_1d>=5]
# out array([ 5,  6,  7,  8,  9, 10, 11])

4. 非运算

arr_1d[~(arr_1d>=5)]
# out array([0, 1, 2, 3, 4])

5. 或运算

只要对应的二个二进位有一个为1时,结果位就为1。

arr_2d = np.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]])

(arr_2d>=8) | (arr_2d<=2)
# out array([[ True,  True, False, False],
#       [False, False, False, False],
#       [False,  True,  True,  True]])


arr_2d[(arr_2d>=8) | (arr_2d<=2)]
# out array([ 1,  2,  8,  9, 10])

6. 与运算

参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

arr_2d = np.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]])

arr_2d[(arr_2d<=8) & (arr_2d>=2)]
# ount array([2, 3, 4, 4, 5, 6, 7, 7, 8])

关于Python numpy ndarray属性,索引,切片的文章就介绍至此,更多相关Python numpy ndarray 内容请搜索编程宝库以前的文章,希望以后支持编程宝库

 pyecharts介绍pyecharts是python与echarts链接,一个用于生成Echarts图标的第三方库,pyecharts分为v0.5.X和v1两个大版本,两者互 ...