我想创建一个自定义函数,它将应用计算将每2列转换为列向量:第一个月有没有一个numpythonic的方式,我可以滑动每两列?- 谢谢-谢谢
92vpleto1#
水平拆分矩阵,对每个新数组应用函数,并将结果向量堆叠在一起:
npairs = data.shape[1] // 2 func = lambda x: (x*x).sum(1, keepdims=True) answer = np.hstack([func(arr) for arr in np.hsplit(data, npairs)])
字符串
在整形时,我们使用两个新索引在水平轴上迭代,其中最后一个索引是2,以便将列分成对。然后我们沿着最后一个轴应用所需的函数:
arr = data.reshape(data.shape[0], -1, 2) answer = (arr*arr).sum(-1)
型备注:
data.reshape(x, -1, y)
x
y
data.sum(-1)
1条答案
按热度按时间92vpleto1#
拆分
水平拆分矩阵,对每个新数组应用函数,并将结果向量堆叠在一起:
字符串
整形
在整形时,我们使用两个新索引在水平轴上迭代,其中最后一个索引是2,以便将列分成对。然后我们沿着最后一个轴应用所需的函数:
型
备注:
data.reshape(x, -1, y)
表示第一个和最后一个尺寸设置为x
和y
,中间值自动计算data.sum(-1)
表示沿着最后一个轴计算总和