Python中的数组操作几乎等同于Numpy数组操作,今天我们会展示用Numpy数组操作获取数据或者子数组,对数组进行分裂,变形和连接的例子。
首先,我们先介绍几类基本的数组操作:
数组的属性
确定数组的大小,形状,储存大小,数据类型
数组的索引:
获取和设置各个元素的值
数组的切分:
在大的数组中获取或设置更小的子数组
数组的变形
改变给定数组的形状
数组的拼接和分裂
将多个数组合并为一个,以及将一个数组分类为多个。
1 Numpy数组的属性
Numpy数组的属性包括ndim(数组的维度),shape(数组每个维度的大小),size(数组总的大小),dtype(数据类型)以及itemsize(每个数组元素的字节大小)下面我们通过几个示例来了解数组的属性。
首先,生成不同维度的数组。
import numpy as np
np.random.seed(0) # 设置随机种子数,保证程序执行时每次都可以生成同样的随机数组
x1 = np.random.randint(10, size=6) # 一维数组
x2 = np.random.randint(10, size=(3, 4)) # 二维数组,创建三行四列的数组
x3 = np.random.randint(10, size=(3, 4, 5)) # 三维数组
x3
# 查看x3数组
# array([[[8, 1, 5, 9, 8],
# [9, 4, 3, 0, 3],
# [5, 0, 2, 3, 8],
# [1, 3, 3, 3, 7]],
# [[0, 1, 9, 9, 0],
# [4, 7, 3, 2, 7],
# [2, 0, 0, 4, 5],
# [5, 6, 8, 4, 1]],
# [[4, 9, 8, 1, 1],
# [7, 9, 9, 3, 6],
# [7, 2, 0, 3, 5],
# [9, 4, 4, 6, 4]]])
其次,查看x3数组的属性,有结果可见,x3是一个3维的数组,每一个维度都有三行四列,其中一共包含60个元素。
print("x3 ndim: ", x3.ndim)
print("x3 shape:", x3.shape)
print("x3 size: