python - 重新排列 2 个不同长度的数组以创建第三个数组 Numpy Python
问题描述
我在下面有 2 个数组,a
并b
合并为result
. a
乘以a_multiplier
并b
乘以b_multiplier
。a
并且b
有不同长度的数组,我想将它们组合并相乘并按a*a_multiplier, b*b_multiplier,a*a_multiplier.....
. 我将如何修改result
函数以使预期输出起作用?
import numpy as np
a_multiplier = 3
b_multiplier = 5
a = np.array([5,32,1,4,3])
b = np.array([1,5,11,3])
result = np.vstack([a * a_multiplier, b * b_multiplier]).flatten("F")
预期输出:
[15 5 96 25 3 55 12 15 9]
值错误:
ValueError: all the input array dimensions for the concatenation axis must match exactly, but along dimension 1, the array at index 0 has size 5 and the array at index 1 has size 4
解决方案
干得好:
import numpy as np
a_multiplier = 3
b_multiplier = 5
a = np.array([5,32,1,4,3])
b = np.array([1,5,11,3])
result = np.empty((a.size + b.size,), dtype=a.dtype)
result[0::2] = a * a_multiplier
result[1::2] = b * b_multiplier
输出:
array([15, 5, 96, 25, 3, 55, 12, 15, 9])
推荐阅读
- html - 消除视频加载后的页面跳转
- python - Python Selenium 点击按钮
- python - segyio > 如何解决 ImportError: DLL load failed: The specified module could not be found
- python - 从 Google Cloud Function 发出 POST 请求时 Python 超时
- tableau-api - 使用 Tableau API 检索嵌入式数据源的自定义 SQL
- c++ - VSCode 调试旧文件而不是当前文件
- c# - 如何使 WinForms 控件透明?
- c# - 是否可以基于同级类属性 C# 添加计算属性?
- php - 在 yii2 中循环 Highcharts
- entity-framework - Linq 链接条件