Numpy Array Append
在数据处理和科学计算中,经常需要对数组进行操作和修改。Numpy是Python中一个非常重要的库,它提供了大量的功能来处理数值数据。本文将详细介绍如何使用Numpy库中的append
函数来增加数组的元素。
1. Numpy 简介
Numpy(Numerical Python的简称)是Python语言的一个扩展程序库。它支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy内部解除了Python的PIL(Python Imaging Library)的数组操作的限制,是处理大型数据集的常用方法之一。
2. Numpy Array Append 的使用
numpy.append
函数用于在数组的末尾添加元素。该函数返回一个新数组,并不在原地修改原数组。其基本语法如下:
numpy.append(arr, values, axis=None)
arr
:指定要添加内容的数组。values
:要向arr
数组添加的值。axis
:沿着它添加的轴,如果没有提供,则values
被展开。
2.1 添加单个元素
当你想在数组末尾添加单个元素时,可以直接使用append
函数。
示例代码 1
import numpy as np
arr = np.array([1, 2, 3])
result = np.append(arr, 4)
print(result)
Output:
2.2 添加数组
如果你想添加整个数组,可以将整个数组作为values
参数。
示例代码 2
import numpy as np
arr = np.array([1, 2, 3])
values = np.array([4, 5, 6])
result = np.append(arr, values)
print(result)
Output:
2.3 指定轴向添加
当处理多维数组时,可以指定axis
参数来决定沿哪个轴添加数组。
示例代码 3
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
values = np.array([[7, 8, 9]])
result = np.append(arr, values, axis=0)
print(result)
Output:
2.4 添加不同维度的数组
当添加的数组维度不同时,需要先调整它们的形状。
示例代码 4
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
values = np.array([7, 8, 9])
# 调整values的形状
values = values.reshape(1, 3)
result = np.append(arr, values, axis=0)
print(result)
Output:
2.5 使用 append 进行迭代添加
在某些情况下,你可能需要在循环中迭代地添加元素到数组中。
示例代码 5
import numpy as np
arr = np.array([1, 2, 3])
for i in range(4, 7):
arr = np.append(arr, i)
print(arr)
Output:
2.6 添加多维数组
当你需要添加多维数组时,确保所有输入数组的维度相同,或者可以通过调整维度来匹配。
示例代码 6
import numpy as np
arr = np.array([[1, 2], [3, 4]])
values = np.array([5, 6])
values = values.reshape(1, 2)
result = np.append(arr, values, axis=0)
print(result)
Output:
2.7 使用 append 添加不同类型的数据
Numpy数组是同质的,这意味着数组中的所有元素类型都是相同的。当尝试添加不同类型的数据时,Numpy会根据需要进行类型提升。
示例代码 7
import numpy as np
arr = np.array([1, 2, 3])
values = np.array([4.5, 5.5, 6.5])
result = np.append(arr, values)
print(result)
Output:
2.8 在多维数组中沿不同轴添加
可以在多维数组中沿不同的轴进行添加,只需要指定axis
参数。
示例代码 8
import numpy as np
arr = np.array([[1, 2], [3, 4]])
values = np.array([[5, 6]])
result = np.append(arr, values, axis=0)
print(result)
Output:
2.9 使用 append 合并多个数组
可以使用append
函数连续合并多个数组。
示例代码 9
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
arr3 = np.array([7, 8, 9])
result = np.append(np.append(arr1, arr2), arr3)
print(result)
Output:
2.10 在没有指定轴的情况下添加多维数组
当没有指定轴时,append
会将所有输入数组展平后再合并。
示例代码 10
import numpy as np
arr = np.array([[1, 2], [3, 4]])
values = np.array([[5, 6], [7, 8]])
result = np.append(arr, values)
print(result)
Output:
2.11 在指定轴向添加多维数组
当你需要在多维数组的特定轴向上添加元素时,可以使用axis
参数。
示例代码 11
import numpy as np
arr = np.array([[1, 2], [3, 4]])
values = np.array([[5, 6], [7, 8]])
result = np.append(arr, values, axis=1)
print(result)
Output:
2.12 添加元素到空数组
如果你的数组在开始时是空的,你可以使用append
函数添加元素。
示例代码 12
import numpy as np
arr = np.array([])
arr = np.append(arr, 1)
print(arr)
Output:
2.13 添加元素到已存在的数组
你可以使用append
函数向已存在的数组添加元素。
示例代码 13
import numpy as np
arr = np.array([1, 2, 3])
arr = np.append(arr, [4, 5, 6])
print(arr)
Output:
2.14 添加元素到多维数组的末尾
你可以使用append
函数向多维数组的末尾添加元素。
示例代码 14
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
arr = np.append(arr, [[7, 8, 9]], axis=0)
print(arr)
Output:
2.15 添加元素到多维数组的特定位置
你可以使用append
函数向多维数组的特定位置添加元素。
示例代码 15
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
arr = np.insert(arr, 1, [7, 8, 9], axis=0)
print(arr)
Output:
2.16 添加元素到多维数组的特定列
你可以使用append
函数向多维数组的特定列添加元素。
示例代码 16
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
arr = np.insert(arr, 1, [7, 8], axis=1)
print(arr)
Output:
2.17 向数组添加多个元素
你可以使用append
函数向数组添加多个元素。
示例代码 17
import numpy as np
arr = np.array([1, 2, 3])
arr = np.append(arr, [4, 5, 6])
print(arr)
Output:
2.18 向数组添加另一个数组
你可以使用append
函数向数组添加另一个数组。
示例代码 18
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
arr = np.append(arr1, arr2)
print(arr)
Output:
2.19 向数组添加多个不同类型的元素
你可以使用append
函数向数组添加多个不同类型的元素。
示例代码 19
import numpy as np
arr = np.array([1, 2, 3])
arr = np.append(arr, [4.5, 'numpyarray.com'])
print(arr)
Output:
2.20 向数组添加元素并改变数组形状
你可以使用append
函数向数组添加元素并改变数组形状。
示例代码 20
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
arr = np.append(arr, [7, 8, 9])
arr = arr.reshape(3, 3)
print(arr)
Output: