gpt4 book ai didi

python - 分别对 numpy 数组中的所有偶数列和奇数列求和

转载 作者:太空宇宙 更新时间:2023-11-03 14:12:32 25 4
gpt4 key购买 nike

我有一个像这样的 numpy 数组:

<class 'numpy.ndarray'>
[[-18.29750213 0.1 -0.1 0.4 -0.8 ]
[-18.20350213 0.7 -0.2 0.1 -0.3 ]
[-18.11050213 0.5 -0.6 0.2 -0.1 ]
...,
[ 9.49249787 0.5 -0.6 0.2 -0.2 ]
[ 9.58649787 0.3 -0.3 0.7 -0.8 ]
[ 9.67949787 0.2 -0.6 0.5 -0.1 ]]

我试图为每一行分别添加所有偶数列和奇数列,即,最后我希望得到一个类似的表格:

-18.29750213 0.5(i.e. 0.1+0.4) -0.9(i.e. -.1-.8)
-18.20350213 0.8(i.e. 0.7+0.1) -0.5(i.e. -.2-.3)
-18.11050213 0.7(i.e. 0.5+0.2) -0.7(i.e. -.6-.1)
...

虽然我可以将列分隔为 lines[:,::2]lines[:,1::2] 我可以添加它们,即 sum(lines[:2,::2])sum(lines[:,1::2]) 现在正在工作:

d_dn = sum(lines[:,::2])
d_up = sum(lines[:,1::2])
print(lines[:,0].size)
print(d_dn.size)
print(d_up.size)

正在给予:

301
10
9

最佳答案

只需调用np.sum并传递一个轴参数。然后,column_stack 将各个部分组合在一起。

i = arr[:, [0]]
j = arr[:, 1::2].sum(1)
k = arr[:, 2::2].sum(1)

np.column_stack((i, j, k))

array([[-18.29750213, 0.5 , -0.9 ],
[-18.20350213, 0.8 , -0.5 ],
[-18.11050213, 0.7 , -0.7 ],
[ 9.49249787, 0.7 , -0.8 ],
[ 9.58649787, 1. , -1.1 ],
[ 9.67949787, 0.7 , -0.7 ]])

关于python - 分别对 numpy 数组中的所有偶数列和奇数列求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48400578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com