python - 如何在将值四等分的同时将矩阵的维度加倍?
问题描述
我想实现这一点:
a = np.array ([[1, 2],
[2, 1]])
b = np.array ([[0.25, 0.25, 0.5, 0.5],
[0.25, 0.25, 0.5, 0.5],
[0.5, 0.5, 0.25, 0.25],
[0.5, 0.5, 0.25, 0.25])
从数学上讲,它们不是相同的矩阵。但我想你明白我想要做什么。我想将矩阵的维度加倍。但因此我想保留来自初始矩阵 a 的信息,方法是为四个相应的单元格取四分之一。
some1 知道如何在 numpy 中有效地做到这一点吗?
解决方案
您可以在两个轴上使用两个重复函数,然后进行简单的除法:
In [8]: np.repeat(np.repeat(a, 2, 1), 2, 0)/4
Out[8]:
array([[0.25, 0.25, 0.5 , 0.5 ],
[0.25, 0.25, 0.5 , 0.5 ],
[0.5 , 0.5 , 0.25, 0.25],
[0.5 , 0.5 , 0.25, 0.25]])
推荐阅读
- ruby-on-rails - Rails ActiveStorage url_for 返回一个无效的 URL
- filter - Kentico:如何显示除一个之外的所有类别的博客文章?
- django - 名字、姓氏和图像未显示
- angular - Angular 中的纯管道
- javascript - JavaScript 更新并依赖于选择输入
- python - 如何单独浏览子文件夹?
- three.js - THREE.js:响应鼠标事件而变形的球体
- sql - 按男性和女性 SQL 分组 -
- iterm2 - iterm2 shell 提示现在显示“(base)”
- google-apps-script - UrlFetchApp.Fetch 返回状态 200 但 Google 脚本 Web 应用程序不起作用