python-3.x - 如何使用广播在一行中对我的程序进行编码?
问题描述
我有一个运行良好的代码,但是,练习是使用广播在一行中对其进行编码,我发现它非常复杂,这是代码:
import numpy as np
v1 = np.array([10, 20, 30, 40, 50])
v2 = np.array([0, 1, 2, 3 ])
matrix = []
for i in v1:
matrix.append(i**v2)
matrixx = np.array(matrix).reshape([5,4])
print(matrixx)
请帮忙!
解决方案
在这种情况下,您不需要广播(它会自动发生),因为两个数组的尺寸都是 1。
您可以在没有循环/理解的情况下获得相同的输出:
print(v1.reshape(5,1)**v2)
推荐阅读
- javascript - 无风险地向用户发送电子邮件
- excel - excel vlookup multiple rows into one cell
- substrate - How to correctly upgrade a runtime on Substrate node?
- android - 使用改造和 rxjava2 时显示 JSON 文档未完全使用异常
- javascript - 在有状态组件中使用 React 中的 refs
- sql-server - 使用 codeigniter3 和 sqlserver 将事件加载到完整日历时出现 500(内部服务器错误)
- docker - 尝试在 ubuntu 中启动 minikube 时发生分段错误
- python - nginx - 在从上游读取响应标头时,上游发送了太大的标头
- git - heroku git:远程-a
导致错误:找不到该应用程序 - sql - Split a value in T-SQL