目录
2.1数组对象
2.2创建数组
1、根据python现有数据类型创建数组
一维数组
二维数组、三维数组
2、根据指定数值创建数组
zeros()函数 元素值为0的数组; ones()函数 元素值为1的数组; empty()函数 元素值为随机数的数组
3、根据指定数值范围创建数组
NumPy中使用arange()函数创建基于指定区间均匀分布数值的数组arange()函数的功能类似于python中的range()函数,但是arange()返回一维数组,而非列表
range()函数可以搭配reshape()方法使用,以重塑一维数组的形状。reshape()方法用于改变数组的形状,但不会改变数组的形状
2.3访问数组元素
2.3.1使用整数索引访问元素
创建一个一维数组,获取索引为2的元素
创建一个二维数组,获取索引为1的一行元素
二维数组【行索引,列索引】创建一个二维数组,获取行索引为1、列索引为2的元素
2.3.2 使用话是索引或布尔索引访问元素
1、花式索引
创建一个一维数组,访问索引为【2,5,8】的元素
创建一个二维数组,使用花式索引获取该数组的多行元素
2、布尔索引
创建一个二维数组,获取该数组中值大于5的数组
属性 | 说明 |
---|---|
ndim | 数组的维度 |
shape | 数组中各维度的大小 |
size | 数组中元素的总数量 |
dtype | 数组中元素的类型 |
itemsize | 数组中各元素的字节大小 |
# 导入numpy库
import numpy as np
# 基于列表创建一维数组
array=np.array([1,2,3,])
print(array)
[1 2 3]
import numpy as np
# 基于嵌套列表创建一个二维数组
array_1 = np.array([[1,2,3],[4,5,6]])
print(array_1)
print('------------')
list_1 = [1,2,3]
list_2 = [4,5,6]
# 基于嵌套列表创建一个三维数组
array_3 = np.array([[list_1,list_2],[list_1,list_2]])
print(array_3)
[[1 2 3] [4 5 6]] ------------ [[[1 2 3] [4 5 6]] [[1 2 3] [4 5 6]]]
# zeros()函数 元素值为0的数组; ones()函数 元素值为1的数组; empty()函数 元素值为随机数的数组
# 函数语法格式如下
# zeros(shape,dtype=float,order='C')
# ones(shape,dtype=None,order='C')
# empty(shape,dtype=float,order='C')
# zeros()函数
# 创建一个形状为(2,3)、元素值为0的数组
array_demo = np.zeros((2,3))
print(array_demo)
[[0. 0. 0.] [0. 0. 0.]]
# ones()函数
# 创建一个形状为(2,3)、元素值为1的数组
array_demo = np.ones((2,3))
print(array_demo)
[[1. 1. 1.] [1. 1. 1.]]
import numpy as np
# empty()函数
# 创建一个形状为(3,3)、元素为随机数的数组
arr_demo = np.empty((3,3))
print(arr_demo)
[[4.67296746e-307 1.69121096e-306 9.45702226e-308] [1.89146896e-307 7.56571288e-307 3.11525958e-307] [1.24610723e-306 1.29061142e-306 5.53353523e-322]]
# 创建一个元素值位于[1,30]且间隔为5的数组
array_demo = np.arange(1,30,5)
print(array_demo)
[ 1 6 11 16 21 26]
# 重塑为2行3列的二维数组
new_arr = array_demo.reshape(2,3)
print(new_arr)
[[ 1 6 11] [16 21 26]]
import numpy as np
arr = np.arange(1,7)
print(arr)
print(arr[2])
[1 2 3 4 5 6] 3
import numpy as np
arr_1 = np.arange(1,7).reshape(2,3)
print(arr_1)
print("---------------")
print(arr_1[1])
[[1 2 3] [4 5 6]] --------------- [4 5 6]
import numpy as np
arr_1 = np.arange(1,7).reshape(2,3)
print(arr_1)
print("---------------")
print(arr_1[1,2])
[[1 2 3] [4 5 6]] --------------- 6
import numpy as np
arr_2 = np.arange(1,10)
print(arr_2)
print('--------------')
print(arr_2[[2,5,8]])
[1 2 3 4 5 6 7 8 9] -------------- [3 6 9]
arr_3 = np.arange(1,10).reshape((3,3))
print(arr_3)
print('--------------')
# 访问索引为【0,2】的元素
print(arr_3[[0,2]])
[[1 2 3] [4 5 6] [7 8 9]] -------------- [[1 2 3] [7 8 9]
# 创建一个二维数组
arr_3 = np.arange(1,10).reshape((3,3))
print(arr_3)
print('--------------')
# 使用花式索引访问元素
print(arr_3[[0,2],[1,1]]) # 0行 2行,1列 1列
print(arr_3[[0,2],[0,2]]) # 0行 2行,0列 2列
[[1 2 3] [4 5 6] [7 8 9]] -------------- [2 8] [1 9]
arr_d = np.arange(1,10).reshape((3,3))
print(arr_d)
print('------------')
# 使用布尔索引访问元素
print(arr_d > 5)
print('-------------')
print(arr_d[arr_d > 5])
[[1 2 3] [4 5 6] [7 8 9]] ------------ [[False False False] [False False True] [ True True True]] ------------- [6 7 8 9]