python - 如何将高维数组广播成较小维数组?
问题描述
我希望将不同形状的数组广播到同一个数组中。
假设我有两个输入和 10 个点。input1
是一个标量,input2
是一个 3 x 3 张量。我想两个都住在input_array
。
import numpy as np
input_array = np.zeros((10,2))
input1 = np.random.rand(10) # scalar
input2 = np.random.rand(3,3,10) # 3x3 tensor
我想做这个:
input_array[:,0] = input1 # this works
input_array[:,1] = input2 # this doesn't because input2's dimension is different
我尝试过围绕轴移动input2
,也尝试过使用 pandas.DataFrame。我认为您可以在将 3*3 张量转换为列表时执行此操作,但这会导致下游出现不需要的行为。最后,我可以使张量变平,但我并不热衷于这样做。
总而言之,可能有一些方法可以解决这个问题,但可以做到吗?
解决方案
推荐阅读
- javascript - 如何访问 Wix DB - 博客文章
- apache-kafka - 最佳实践如何将 snmp 陷阱映射到 kafka 消息
- excel - Excel IF 语句基于 excel 所使用的语言,我如何让它工作?
- javascript - 是否可以在导出的同一文件中的类中使用导出的变量
- c# - C# WinForm - 如何通过文本框中的文本制作 TreeVIew 节点/子节点?[解决了]
- reactjs - 我如何在 reactjs + typescript (钩子)中使用 useRef 将子状态值传递给父级
- prolog - 如果输入了特定单词,则附加到列表
- python - 如何使用 Python Discord 机器人发送附件
- hyperparameters - 为什么 Ray Tune 只使用一名工作人员?
- javascript - 在 React 的音频标签中为 src 值设置项目文件夹之外的绝对文件路径