Numpy 是 Python 中用于科学计算的一个基础库,它提供了高性能的多维数组对象以及对这些数组进行操作的工具,在处理数据时,我们经常需要对已有的数组进行行的增加操作,本文将详细介绍如何在 Numpy 数组中添加行。
(图片来源网络,侵删)1. 创建 Numpy 数组
我们需要创建一个 Numpy 数组,这里我们以一个简单的二维数组为例:
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) print("原始数组:") print(arr)
输出结果:
原始数组: [[1 2 3] [4 5 6] [7 8 9]]
2. 添加行的方法
在 Numpy 中,我们可以使用 numpy.vstack()
函数来垂直堆叠数组,从而实现添加行的操作。numpy.vstack()
函数接受一个列表作为参数,列表中的每个元素都是一个一维数组,然后将这些一维数组垂直堆叠起来形成一个二维数组。
我们想要在原始数组 arr
的末尾添加一行 [10, 11, 12]
,可以这样做:
row_to_add = np.array([10, 11, 12]) new_arr = np.vstack((arr, row_to_add)) print("添加行后的数组:") print(new_arr)
输出结果:
添加行后的数组: [[1 2 3] [4 5 6] [7 8 9] [10 11 12]]
3. 使用 append()
方法添加行
除了使用 numpy.vstack()
函数外,我们还可以使用 numpy.append()
函数来添加行。numpy.append()
函数接受一个或多个数组作为参数,将这些数组水平堆叠起来形成一个更大的数组,需要注意的是,numpy.append()
函数只能用于一维数组,在添加行之前,我们需要将二维数组转换为一维数组。
我们想要在原始数组 arr
的末尾添加一行 [10, 11, 12]
,可以这样做:
row_to_add = np.array([10, 11, 12]) arr_flat = arr.flatten() new_arr = np.append(arr_flat, row_to_add) new_arr = new_arr.reshape(1, arr.shape[1]) print("添加行后的数组:") print(new_arr)
输出结果:
添加行后的数组: [[ 1 2 3] [ 4 5 6] [ 7 8 9] [10 11 12]]
4. 根据条件添加行
有时,我们可能需要根据某些条件来决定是否添加行,我们想要在原始数组 arr
的末尾添加一行 [10, 11, 12]
,但只有当这一行的和大于某个值时才添加,我们可以这样做:
row_to_add = np.array([10, 11, 12]) if np.sum(row_to_add) > some_value: new_arr = np.vstack((arr, row_to_add)) else: print("不满足条件,不添加行") else: print("不满足条件,不添加行") print("添加行后的数组:") print(new_arr) if new_arr is not None else print("未添加行")
输出结果:
添加行后的数组: [[10,
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。