python - 传递元素以高效运行
问题描述
我有一个大小为 mx n 的数组。我想将每个 m 行单独传递给一个函数并将结果保存在同一行中。
使用 numpy 执行此操作的有效方法是什么?目前我正在使用 for 循环来实现这一点:
X : size(m x n)
p : size(m x n)
for i in np.arange(X.shape[0]):
X[i] = some_func(X[i], p[i])
解决方案
您可以使用 List Comprehension 列出 X 和 p 矩阵的所有第一行,如下所示。然后您可以轻松地将 X 和 p 的第一行作为参数发送到您的some_function
import numpy as np
X = np.random.randint(9, size=(3, 3))
p = np.random.randint(9, size=(3, 3))
print(X.shape, p.shape)
XList = [i[0] for i in X]
pList = [j[0] for j in p]
print (XList)
print (pList)
for i in np.arange(XList, pList):
X[i] = some_func(XList, pList)
推荐阅读
- php - 使用php根据同页表单的输入动态输出html表格
- python - 单击tkinter中的按钮后小部件消失?
- c++ - 为什么使用 Xor 运算符在选择排序中交换对象不起作用?
- android - 关闭弹出的博览会应用程序后,无头服务停止工作
- c - 在 osx 上编译简单 C 程序时找不到标头错误
- rust - 如何在 Rust 中将所有运算符重载组合组合成一个特征?
- android - 字符串字节数据到字节数组
- python - 为什么 setattr 不影响返回值?
- r - 如何在 R 中获取表格,包括计数、相对频率和累积频率?
- quarkus - 在使用多阶段 Docker 构建的容器中构建本机可执行文件时内存不足