假设我有一个numpy数组x:
x = array([[ 3, 2, 1],
[ 3, 25, 34],
[ 33, 333, 3],
[ 43, 32, 2]])
我想在不显式编写for循环的情况下执行以下操作,即使用自动内建循环的方法;
1) 将第2列替换为所有1列,即
x = array([[ 3, 1, 1],
[ 3, 1, 34],
[ 33, 1, 3],
[ 43, 1, 2]])
2) 在原始阵列中,将第3列替换为第2列和第3列的乘积,即
x = array([[ 3, 2, 1*2],
[ 3, 25, 34*25],
[ 33, 333, 3*333],
[ 43, 32, 2*32]])
3) 最后,我想根据条件(即)替换原始阵列中的第2列
x[1] = 0 if x[0] > 5 else 4
即阵列现在看起来像:
x = array([[ 3, 4, 1],
[ 3, 4, 34],
[ 33, 0, 3],
[ 43, 0, 2]])
有什么建议吗?谢谢
关于numpy的文档非常值得一读,因为这是相当基本的东西。。。
x[:,1]
=1x[:,2] *= x[:,1]
x[:,1] = np.where( x[:,0] > 5, 0, 4 )