arrays - 将矩阵拆分为具有不同列大小的数组
问题描述
我想将矩阵拆分为具有不同列大小的数组。我可以使用 for 循环来完成它,但是我很好奇它是否可以使用某些命令以更快的方式完成。
例如,假设我有以下矩阵:
matrix = [[1, 2, 3, 4]
[5, 6, 7, 8]
[9, 10, 11, 12]
[13, 14, 15, 16]]
现在我想获得一个二维数组,如下所示:
desired_array = [[1]
[5, 6]
[9, 10, 11]
[13, 14, 15, 16]]
我想要这个,因为我想要所需数组的每行总和。也许有另一种解决方案来获得该总和,而不使用 for 循环?
谢谢!
解决方案
您只需要下三角矩阵的逐行总和。
>>> np.tril(matrix).sum(1)
array([ 1, 11, 30, 58])
推荐阅读
- python - 如何使用 pandas 在 excel 表中打印答案?
- java - 为具有不同参数的相同 URL 模式创建两个方法(带参数和不带参数)
- php - 来自 XMLHttpRequest 的带有 $_POST 的 MySqli 准备好的语句不起作用
- pyqt - PyQt4拖放在dragEnter之前接收mouseReleaseEvent
- java - 刽子手游戏:显示字母
- google-apps-script - 将值从另一张表添加到月历表的脚本 - Google 表格
- php - Symfony v4,php bin/console 不能按预期工作。自动中止
- python - 如何将 Outlook 电子邮件正文保存到 Excel
- sql - 将日期和整数时间转换为日期时间
- swift - 集合视图单元内的视频加载缓慢