NumPy 从已有的数组创建数组
NumPy是Python中重要的科学计算库之一,其提供了多种创建数组的方法。本篇技术文档将详细介绍NumPy从已有数组中创建数组的方法。
从已有数组中创建数组
NumPy提供了多种从已有数组中创建数组方式,包括复制已有数组、从已有数组中选取元素或子数组等。可以使用numpy.array()
函数或特定的数组函数创建数组。
复制已有数组
复制已有数组是最简单的从已有数组中创建新数组的方法。使用numpy.array()
函数并将已有数组作为参数传入即可实现数组复制。
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array(arr1)
print(arr1) # 输出: [1 2 3]
print(arr2) # 输出: [1 2 3]
从已有数组中选取元素
可以使用数组中的索引值选取一个或多个元素,通过这些元素创建新数组。
import numpy as np
arr1 = np.array([1, 2, 3, 4, 5, 6, 7])
arr2 = arr1[2:5] # 选择原数组中第三个到第五个元素,不包含第五个元素
arr3 = arr1[::2] # 选择原数组中相隔一个元素的元素
print(arr2) # 输出:[3 4 5]
print(arr3) # 输出:[1 3 5 7]
从已有数组中选取子数组
使用数组中的索引值选取子数组,并通过子数组创建新数组。
import numpy as np
arr1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
arr2 = arr1[1:] # 选择原数组中第二行到最后一行的所有列
arr3 = arr1[:, 1:] #选择原数组中所有行除了第一列之外的所有列
print(arr2) # 输出: [[4 5 6] [7 8 9]]
print(arr3) # 输出: [[2 3] [5 6] [8 9]]
使用数组函数创建新数组
NumPy提供多个特定于数组的函数,用于创建新的数组,这些函数是在已有数组上执行操作并返回新的数组。例如,函数numpy.ones()
将创建具有指定形状的数组,并填充所有元素为1。
import numpy as np
arr1 = np.ones((2, 3)) # 返回一个2行3列的全部为1的数组
arr2 = np.zeros((2, 2)) # 返回一个2行2列的全部为0的数组
arr3 = np.random.rand(2, 4) # 返回一个2行4列的随机浮点数组
print(arr1) # 输出:
# [[1. 1. 1.]
# [1. 1. 1.]]
print(arr2) # 输出:
# [[0. 0.]
# [0. 0.]]
print(arr3) # 输出:
# [[0.51357146 0.93984593 0.63094768 0.81500115]
# [0.4200903 0.66926927 0.98639334 0.20995944]]
结论
本篇技术文档介绍了NumPy中从已有数组创建数组的四种方式,包括复制已有数组、从已有数组中选取元素、从已有数组中选取子数组和使用数组函数创建新数组。以上方法都是在处理现有数据时最为常用和实用的方法,可帮助读者更好地统计和处理数据。