python - 如何用行填充数组
问题描述
我有一组具有不同行数的 numpy 数组,我想将它们填充到固定的行数,例如
具有 3 行的数组“a”:
a = [
[1.1, 2.1, 3.1]
[1.2, 2.2, 3.2]
[1.3, 2.3, 3.3]
]
我想将“a”转换为 5 行的数组:
[
[1.1, 2.1, 3.1]
[1.2, 2.2, 3.2]
[1.3, 2.3, 3.3]
[0, 0, 0]
[0, 0, 0]
]
我试过np.concatenate((a, np.zeros(3)*(5-len(a))), axis=0)
了,但它不起作用。
任何帮助,将不胜感激。
解决方案
你正在寻找np.pad
. 要归零,您必须将模式设置为constant
以及pad_width
您希望在每个轴的边缘上设置的模式:
np.pad(a, pad_width=((0,2),(0,0)), mode='constant')
array([[1.1, 2.1, 3.1],
[1.2, 2.2, 3.2],
[1.3, 2.3, 3.3],
[0. , 0. , 0. ],
[0. , 0. , 0. ]])
推荐阅读
- opengl - 骨骼动画:fbx 文件但不是 dae 文件的变形网格?
- mysql - 带有 TIME 数据类型的 MySQL INSERT 语句中的语法错误
- objective-c - Swift 中的类型别名闭包
- sql-server - 检查时间是否在 SQL Server 中的两个日期之间
- php - 如何仔细检查我的 PHP 登录表单
- angular - 如何手动重新渲染组件Angular 5
- c# - 如何使用 C# 正确写入 Access (2002-2003) 数据库
- c# - dotnet core 2 消耗高 CPU
- php - 单元测试 Laravel 密码重置电子邮件 - 可邮寄未排队
- mysql - mysql 多对多关系作为列