gpt4 book ai didi

python - Python 中重复行和列

转载 作者:行者123 更新时间:2023-12-01 03:55:23 24 4
gpt4 key购买 nike

我正在尝试制作两个 600x800 矩阵( XY ),如下所示:
-X每行有 0 到 600
-Y每列都有 800 到 0

我的想法是按照这些思路做一些事情:

N = np.arange(0, 600, 1)  
M = np.arange(0, 800, 1)

X = np.zeros((800, 600))
Y = np.zeros((800, 600))

从这里输入 N进入 X 中的每一行,然后输入 M[::-1]进入 Y 中的每一列,但我不知道该怎么做。

最佳答案

你很幸运,因为 NumPy 在 np.meshgrid 中有一个内置的程序专门用于执行该任务。 -

X,Y = np.meshgrid(N,M[::-1])

示例运行 -

In [2]: N
Out[2]: array([0, 1, 2, 3, 4, 5])

In [3]: M
Out[3]: array([0, 1, 2, 3, 4, 5, 6, 7])

In [4]: X,Y = np.meshgrid(N,M[::-1])

In [5]: X
Out[5]:
array([[0, 1, 2, 3, 4, 5],
[0, 1, 2, 3, 4, 5],
[0, 1, 2, 3, 4, 5],
[0, 1, 2, 3, 4, 5],
[0, 1, 2, 3, 4, 5],
[0, 1, 2, 3, 4, 5],
[0, 1, 2, 3, 4, 5],
[0, 1, 2, 3, 4, 5]])

In [6]: Y
Out[6]:
array([[7, 7, 7, 7, 7, 7],
[6, 6, 6, 6, 6, 6],
[5, 5, 5, 5, 5, 5],
[4, 4, 4, 4, 4, 4],
[3, 3, 3, 3, 3, 3],
[2, 2, 2, 2, 2, 2],
[1, 1, 1, 1, 1, 1],
[0, 0, 0, 0, 0, 0]])
<小时/>

由于问题被标记为 NumPy broadcasting同样,我会在用零初始化后添加另一种使用它的方法(如问题中列出的),就像这样 -

m,n = M.size, N.size    # Size parameters

X = np.zeros((m,n),dtype=N.dtype)
Y = np.zeros((m,n),dtype=M.dtype)

X += N
Y += M[::-1,None]

关于python - Python 中重复行和列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37555524/

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