我有一个矩阵
1 2 3
4 5 6
7 8 9
我想将同一矩阵的第一个元素与另一个元素组合并创建新矩阵。
x 和 y 是 ndarray 我想在 python 中执行此代码
for i=0 to 3 do
for j=0 to 3 do
if x[0][0]<x[i][j] then
t[i][j]=1
else
t[i][j]=0
在Python中:
x=np.array([[1,2,3], [4,5,6], [7,8,9]])
y=[]
for i in range(0, 3):
for j in range(0, 3):
if x[0][0]< x[i][j]:
y.append(1)
else:
y.append(0)
输出:
>>> t
[0, 1, 1, 1, 1, 1, 1, 1, 1]
这个说法正确吗?
最佳答案
首先,当我完全按照所述运行您的代码时,我得到 y 的值,而不是您粘贴的值:
[0, 1, 1, 1, 1, 1, 1, 1, 1]
我怀疑你想要做的实际上并不是你在这里写的,但假设它是,这里有一个更简单的方法来实现相同的结果:
>>> np.where(x > x[0,0], 1, 0).flatten()
array([0, 1, 1, 1, 1, 1, 1, 1, 1])
关于python - python中的数组语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17982628/