You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为numpy二维数组新增角度列:对每行x、y列应用双输入函数

Numpy二维数组追加自定义计算列实现方法

以下实现基于你已经完成自定义角度计算函数的前提,你可以直接替换示例中的函数为你自己的实现。

方案1:自定义函数支持向量化运算(性能最优,推荐)

如果你的角度计算函数可以直接接收numpy数组作为输入参数,直接按列提取数据计算即可:

import numpy as np

# 替换为你自己的角度计算函数
def calc_angle(x, y):
    # 此处为示例逻辑:计算极坐标角度并转换为角度制
    return np.degrees(np.arctan2(y, x))

# 你的原始数组,修正了原写法的语法错误
a = np.array([[12032, 12, 23, 12],[12032, 22, 12, 12]])

# 提取所有行的x坐标(索引1)、y坐标(索引2)列
x_col = a[:, 1]
y_col = a[:, 2]

# 批量计算角度
angle_col = calc_angle(x_col, y_col)

# 将角度列转为二维列向量后,拼接至原数组末尾
result = np.hstack([a, angle_col.reshape(-1, 1)])

方案2:自定义函数仅支持单值输入

如果你的角度计算函数只能接收单个数值作为参数,无法直接传入数组批量计算,使用apply_along_axis逐行处理即可:

import numpy as np

# 替换为你自己的角度计算函数
def calc_angle(x, y):
    # 示例仅支持单值输入的函数逻辑
    return np.degrees(np.arctan2(y, x))

a = np.array([[12032, 12, 23, 12],[12032, 22, 12, 12]])

# 逐行提取x、y坐标传入函数计算,得到角度列
angle_col = np.apply_along_axis(lambda row: calc_angle(row[1], row[2]), axis=1, arr=a)

# 拼接新列
result = np.hstack([a, angle_col.reshape(-1, 1)])

执行完成后,result数组的最后一列即为对应的角度计算结果。

内容的提问来源于stack exchange,提问作者Asbjoern Lund

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 15:27:03