python - 在numpy数组python中的每个元素之后添加元素
问题描述
我刚开始使用 numpy 并试图创建一个函数,该函数接收数组 (x),将其转换为 np.array,并返回一个 numpy 数组,每个元素后添加 0,0,0,0。
它应该是这样的:
输入数组:[4,5,6]
输出:[4,0,0,0,0,5,0,0,0,0,6,0,0,0,0]
我尝试了以下方法:
import numpy as np
x = np.asarray([4,5,6])
y = np.array([])
for index, value in enumerate(x):
y = np.insert(x, index+1, [0,0,0,0])
print(y)
返回:
[4 0 0 0 0 5 6]
[4 5 0 0 0 0 6]
[4 5 6 0 0 0 0]
所以基本上我需要将输出组合成一个 numpy 数组而不是三个列表。
有人知道如何解决这个问题吗?
非常感谢!
解决方案
使用 numpy .zeros 函数!
import numpy as np
inputArray = [4,5,6]
newArray = np.zeros(5*len(inputArray),dtype=int)
newArray[::5] = inputArray
实际上,您“强制”索引为 0,5 和 10 的所有值变为 4,5 和 6。
所以 _____[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
变为 [4 0 0 0 0 5 0 0 0 0 6 0 0 0 0]
>>> newArray
array([4, 0, 0, 0, 0, 5, 0, 0, 0, 0, 6, 0, 0, 0 ,0])
推荐阅读
- php - 无法在 PHP 中的 file_get_contents 上打开流
- php - 如果 php 会话存在,则从 .htaccess 锁定文件夹下载文件
- c# - Selenium 无法访问网页上的任何元素
- php - 如何使用 PHP 使“日期时间”显示比 PhpMyAdmin 状态提前 4 小时?
- android - 当项目订单发生变化时,如何将我的回收站视图滚动到顶部?
- wix - 由于 WiX 已从 3.6 升级到 3.11,WiX Burn Bootstrapper 立即失败
- json - 如何在没有 Codable 的情况下将 Swift JSON / Dict Key camel 转换为下划线?
- python - Flask - Google Firestore google.api_core.exceptions.Unknown:无 已删除流
- linux - 树莓派内核交叉编译缺少配置选项?
- python-2.x - 需要程序重复而不是结束