提取NumPy矩阵的上三角或下三角部分

我有一个矩阵 A,我想得到两个矩阵 UL,其中 U 包含 A 的上三角元素(包括对角线上方的所有元素,但不包括对角线上的元素),而 L 包含下三角元素(包括对角线下方的所有元素,但不包括对角线上的元素)。有没有 numpy 的方法可以做到这一点?

例如

A = array([[ 4.,  9., -3.],           [ 2.,  4., -2.],           [-2., -3.,  7.]])U = array([[ 0.,  9., -3.],           [ 0.,  0., -2.],           [ 0.,  0.,  0.]])L = array([[ 0.,  0.,  0.],           [ 2.,  0.,  0.],           [-2., -3.,  0.]])

回答:

尝试使用 numpy.triu(上三角矩阵)和 numpy.tril(下三角矩阵)。

代码示例:

np.triu([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])array([[ 1,  2,  3],       [ 4,  5,  6],       [ 0,  8,  9],       [ 0,  0, 12]])

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注