python - python中的数组语句

标签 python arrays numpy

我有一个矩阵

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/

相关文章:

python - tkinter.mainloop 不起作用

python - pandasql 无法在函数 python pandas 中工作

arrays - 将随机数添加到表的列中的每个数字

python - 如何使用 python 在表格中显示多个 jpeg 图像?

python - 找不到页面 (404) - 没有产品与给定的查询匹配

C 用户输入的数组大小

arrays - mongodb : search an array of hashes

python - 根据 bool 拆分 numpy 数组

python - 如何快速对扁平化的 "jagged"numpy 数组重新排序

python - 拟合派生 Python 的约束