numpy 二维数组某两列做整体操作赋值给另一个变量
假设有一个二维数组arr,形状为(m,n),其中第i列和第j列需要做整体操作,可以使用以下代码实现:
import numpy as np
# 生成一个5行3列的二维数组
arr = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[10, 11, 12],
[13, 14, 15]])
# 定义需要操作的两列的索引值
col1 = 0
col2 = 2
# 对这两列做整体操作,例如求和
new_col = arr[:, col1] + arr[:, col2]
# 将新列赋值给另一个变量
new_arr = np.hstack((arr, new_col.reshape(-1, 1)))
print(new_arr)
输出结果为:
array([[ 1, 2, 3, 4],
[ 4, 5, 6, 10],
[ 7, 8, 9, 16],
[10, 11, 12, 22],
[13, 14, 15, 28]])
其中,np.hstack()函数用于将原数组和新列按列方向合并,形成新的二维数组new_arr。reshape(-1, 1)函数用于将新列变成列向量。
原文地址: http://www.cveoy.top/t/topic/bgdU 著作权归作者所有。请勿转载和采集!