[英]Python: How to replace only 0 values in a column by multiplication of 2 columns in Dataframe with a loop?
[英]Replace the values of a column of an array in a for loop Python
我有一个 3D 零数组,我想使用 for 循环替换第二列和第三列的元素。 在 matlab 中,我创建了一个零矩阵并填充它,但在 python 中,我不明白我该怎么做。
我尝试了以下方式:
U=np.zeros((3,150,150))
step=10
A=[rows,columns]
jj=0
for j in range(1,columns+1,step):
jj=jj+1 #jj total = 184
ii=0
for i in range(1,rows+1,step):
ii=ii+1 #ii total = 154
U[:,0,1]=ii,jj
这样,我得到一个数组 U,其中第二列和第三列的每个值都有最后一个 ii 和 jj 的值。
相反,我希望数组 A 中存在的每个像素(i,j)按照定义的步骤逐步替换为数组 U 的第二列和第三列。 你有什么想法吗?
最后,数组 U 的大小为 (3x154x184)
此代码将在 for 循环中将 A 的值放入 U。 如果您有其他逻辑要使用,您可以将其添加到跳过的行中。
import numpy as np
columns = 150
rows = 150
step=1
A=np.random.randint(100, size=(columns,rows))
U=np.zeros((3,columns,rows))
jj=0
for j in range(0,columns,step):
jj=jj+1 #jj total = 184
ii=0
for i in range(0,rows,step):
ii=ii+1 #ii total = 154
U[:,ii-1,jj-1]=A[i,j]
print(U)
如果这就是您想要完成的全部,您可以像这样更简单地完成它:
U[:]=A
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.