【发布时间】:2020-07-26 22:48:30
【问题描述】:
所以基本上我有一个数组 subslope 包含以下内容:
import numpy as np
import matplotlib.pyplot as plt
slp = 1501.66*(np.ones((1000,1000), dtype=np.float32))
vsub = 2000*(np.ones((1000,1000), dtype=np.float32))
slope = np.triu(slp)
slope2 = np.tril(vsub, k=-1)
subslope = slope + slope2
这是视觉表示:
您可以看到分隔数组的两个部分的对角线,上半部分在对角线下方的值分别为 1501.66 和 2000。但是,当我更改尺寸以使列数明显大于行数时,如下所示:
slp = 1501.66*(np.ones((1000,2000), dtype=np.float32))
vsub = 2000*(np.ones((1000,2000), dtype=np.float32))
我们得到以下信息:
我想要的是从数组的顶角到底角的对角线,如下所示:
我怎样才能做到这一点?
【问题讨论】:
-
你将如何“四舍五入”索引。上、下、圆?
-
我想总结一下
-
查看
np.tri和np.triu,了解它们是如何得出索引的。也许您可以根据需要调整它们。
标签: python arrays numpy matplotlib imshow