numpy 矩阵行/列上的函数应用

2024-01-12

我正在使用 Numpy 将数据存储到矩阵中。由于具有 R 背景,有一种极其简单的方法可以将函数应用于矩阵的行/列或两者。

python/numpy 组合有类似的东西吗?编写我自己的小实现不是问题,但在我看来,我提出的大多数版本都会比任何现有的实现效率低得多/内存密集程度更高。

我想避免从 numpy 矩阵复制到局部变量等,这可能吗?

我试图实现的功能主要是简单的比较(例如,某一列中有多少元素小于数字x或其中有多少元素的绝对值大于y)。


几乎所有 numpy 函数都在整个数组上运行,和/或可以被告知在特定轴(行或列)上运行。

只要您可以根据作用于 numpy 数组或数组切片的 numpy 函数来定义函数,您的函数就会自动对整个数组、行或列进行操作。

询问如何实现特定功能以获得更具体的建议可能会更有帮助。


Numpy 提供np.向量化 http://docs.scipy.org/doc/numpy/reference/generated/numpy.vectorize.html and np.frompyfunc http://docs.scipy.org/doc/numpy/reference/generated/numpy.frompyfunc.html将对数字进行操作的 Python 函数转换为对 numpy 数组进行操作的函数。

例如,

def myfunc(a,b):
    if (a>b): return a
    else: return b
vecfunc = np.vectorize(myfunc)
result=vecfunc([[1,2,3],[5,6,9]],[7,4,5])
print(result)
# [[7 4 5]
#  [7 6 9]]

(当第二个数组更大时,第一个数组的元素将被第二个数组的相应元素替换。)

但不要太兴奋;np.vectorize and np.frompyfunc are 只是语法糖 http://www.mail-archive.com/numpy-discussion@scipy.org/msg00587.html。它们实际上并没有让你的代码变得更快。如果您的底层 Python 函数一次对一个值进行操作,那么np.vectorize一次喂它一件东西,然后把整个东西喂给它 操作将会相当慢(与使用调用某些底层 C 或 Fortran 实现的 numpy 函数相比)。


计算列有多少个元素x小于一个数字y,您可以使用如下表达式:

(array['x']<y).sum()

例如:

import numpy as np
array=np.arange(6).view([('x',np.int),('y',np.int)])
print(array)
# [(0, 1) (2, 3) (4, 5)]

print(array['x'])
# [0 2 4]

print(array['x']<3)
# [ True  True False]

print((array['x']<3).sum())
# 2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

numpy 矩阵行/列上的函数应用 的相关文章

  • 当遵循文档代码时,Python 多处理返回 AttributeError [重复]

    这个问题在这里已经有答案了 我决定尝试使用多处理器模块来帮助加速我的程序 为了弄清楚这一点 我尝试使用有关多处理的官方 python 文档中的一些代码示例 第一次尝试 介绍 https docs python org 3 library m
  • Django:NoReverseMatch at /'myapp'不是注册的命名空间

    我在模板渲染期间遇到此错误 我想做的是允许用户上传 csv 然后将数据处理到模型中 第 109 行出错 myapp 不是已注册的命名空间 这是我的第 109 行代码
  • 使用 selenium 和 python 在网页网格中抓取 javascript 数据

    我的问题是我需要包含网站子域的网格中的所有数据https applipedia paloaltonetworks com https applipedia paloaltonetworks com 包含名称 类别 子类别 风险 技术的数据
  • 查找数据集中的异常值

    我有一个 python 脚本 它创建服务器正常运行时间和性能数据列表的列表 其中每个子列表 或 行 包含特定集群的统计信息 例如 格式良好的它看起来像这样 Cluster Availability Requests Sec Errors S
  • Python:访问另一个类中一个类的属性和方法

    假设我有两个 A 类和 B 类 Class A A s attributes and methods here Class B B s attributes and methods here 现在我可以评估 B 类对象中 A 的属性 如下所
  • 搜索/替换 xml 内容

    我已经成功地使用 xml etree ElementTree 解析 xml 搜索内容 然后将其写入不同的 xml 然而 我只是处理单个标签内的文本 import os sys glob xml etree ElementTree as ET
  • 如何在嵌套列表中查找给定元素?

    这是我的迭代解决方案 def exists key arg if not arg return False else for element in arg if isinstance element list for i in elemen
  • 从 java 代码运行 Python 脚本

    这是我第一次在java中尝试python 我正在尝试从我的代码执行 python 脚本 如下所示 Process process Runtime getRuntime exec python C Users username Desktop
  • Python 中没有名称属性的表单提交

    背景 在Python中使用urllib和urllib2 您可以进行表单提交 您首先创建一个字典 formdictionary search stackoverflow 然后使用 urllib 的 urlencode 方法来转换这个字典 pa
  • 如何向 Jupyter (ipython) 笔记本自动添加扩展?

    我已经安装了扩展 calico document tools 我可以使用以下命令从 Jupyter 笔记本中加载它 javascript IPython load extensions calico document tools 如何为每个
  • 构建wheel失败/“错误:INCLUDE环境变量为空”

    我正在使用 Python 2 7 11 并尝试 pip install 模块 但是其中一些模块失败了 我收到的消息是 无法为 X 构建轮子 和 错误 包含环境变量为空 我尝试安装 Scrapy LXML 和 Twisted 但都失败了 我尝
  • 如何忽略 Sentry 捕获中的某些 Python 错误

    我已将 Sentry 配置为捕获 Django Celery 应用程序中的所有错误 它工作正常 但我发现一个令人讨厌的用例是当我必须重新启动我的 Celery 工作人员 PostgreSQL 数据库或消息服务器时 这会导致数千种各种 无法访
  • numpy.polyval() 的反函数

    我想知道 np polyval 是否有一个方便的反函数 我在其中给出 y 值并求解 x 我知道我可以做到这一点的一种方法是 import numpy as np Set up the question p np array 1 1 10 y
  • 如何循环遍历列表中除最后一项之外的所有项? [复制]

    这个问题在这里已经有答案了 Using a for循环 如何循环遍历列表中除最后一项之外的所有项 我想遍历一个列表 检查每个项目与后面的项目 我可以在不使用索引的情况下做到这一点吗 for x in y 1 If y是一个生成器 那么上面的
  • Python httplib 和 POST

    我目前正在使用别人编写的一段代码 它用httplib向服务器发出请求 它以正确的格式提供所有数据 例如消息正文 标头值等 问题是 每次尝试发送 POST 请求时 数据都在那里 我可以在客户端看到它 但没有任何内容到达服务器 我已经阅读了库规
  • tkinter 库 treectrl 转换为 exe 安装程序时出现 cx_freeze 错误

    我使用的是 python 版本 3 7 我使用了这个名为 treectrl 的外部库 当我运行 py 文件时它工作得很好 但是当我使用 cx freeze 转换为 exe 文件时 它给了我错误 NomodulleFound 名为 tkint
  • VSCode IntelliSense 认为 Python 'function()' 类存在

    VSCode IntelliSense 正在完成一个名为的 Python 类function 这似乎不存在 例如 这似乎是有效的代码 def foo value return function value foo 0 But functio
  • 无法将 类型的对象转换为张量

    我正在编写一个使用 Flask 框架的客户端 python 文件 并在 docker 机器中运行它 因此 这需要一个输入文件并生成它的输出 但它会抛出无法转换为张量的错误 tf app flags DEFINE string server
  • 合并共享属性的节点

    EDITED 我真的需要 Networkx graph 专家的帮助 假设我有以下数据框 我想将这些数据框转换为图表 然后我想根据描述和优先级属性将两个图映射到相应的节点 df1 From description To priority 10
  • 获取 Flask 中没有端口的请求主机名

    我刚刚设法使用 Flask 获取我的应用程序服务器主机名request host and request url root 但这两个字段都返回请求主机名及其端口 我想使用仅返回请求主机名的字段 方法 而无需进行字符串替换 如果有 没有 We

随机推荐

  • 监控 GKE 上运行的 Cronjob

    我正在尝试监控 GKE 上运行的 CronJob 但我看不到检查 CronJob 是否实际运行的简单方法 如果 CronJob 运行时间没有超过 X 时间 并且 Stackdriver 似乎不支持 我想触发警报 目前 我尝试使用基于日志记录
  • 如何让“捆绑安装”运行得更快

    当我需要在 Gemfile 中添加新的依赖 gem 时 然后运行 bundle install 它似乎需要很长时间 有时对我来说需要 7 分钟 我怎样才能使这个过程更快 我在网上搜索了一下 它提到了一个 Gemfile lock 文件 这出
  • MarkLogic - 带有 REST API 的 CORS

    我有一个基于 MarkLogic 的 Web 应用程序 它从两个源提取数据 一个文档存储和一个三重存储 两者都托管在我的 MarkLogic 服务器上 该应用程序使用 MarkLogic 的内置 REST API 来访问这些数据存储 文档存
  • Jenkinsfile 声明式管道定义动态环境变量

    我是詹金斯管道的新手 我正在定义一个声明性语法管道 但我不知道是否可以解决我的问题 因为我没有找到解决方案 在这个例子中 我需要将一个变量传递给 ansible 插件 在旧版本中我使用 ENV VAR 或使用注入插件从文件中注入它 该变量来
  • Android 是否支持布局继承(类似于 Django 模板)?

    我可能误解了如何
  • 如何用可变消息抛出 std::Exceptions?

    这是当我想向异常添加一些信息时经常执行的示例 std stringstream errMsg errMsg lt lt Could not load config file lt lt configfile lt lt throw std
  • vb.net - 自从添加套接字通信以来,服务应用程序和表单应用程序的 CPU 使用率都非常高

    我正在开发 2 个应用程序 一个是 Windows 服务 它执行后台任务和 api 调用等 第二个是在用户上下文中运行的表单应用程序 表单应用程序的目的是在 Windows 服务需要时向用户显示数据 为了启用两个应用程序之间的通信 我使用了
  • 具体加班计算

    我正在制作一个简单的时间表 应该计算加班时间1和加班时间2 我只是想不出一个好的方法来解决它 正常工作日 8 小时从 07 00 到 17 00 不加班 例如 07 00 到 16 00 或 08 00 到 17 00 但是当时间超过 8
  • 如何将 char 附加到 std::string?

    以下失败并出现错误prog cpp 5 13 error invalid conversion from char to const char int main char d d std string y Hello worl y appe
  • 如何在 C++ 中打印字符串 [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我尝试过这个 但没有成功 include
  • 修剪功能导致日期格式更改

    首先 需要注意的是 我在英国 所以标准日期格式是 dd mm yyyy 在 A1 中 我有一个日期 02 05 2017 dd mm yyyy 我可以在立即窗口中确认这一点 CLng Range A1 Value 42857 现在 如果我执
  • Android系统服务是从哪里启动的?

    在 嵌入式Android 一书中 它说 在 init rc 中 只有一个操作才会导致命令的执行 服务声明仅用于描述服务 它们实际上并不启动任何东西 第246页 那么 Android系统服务 例如servicemanager vold 是从哪
  • Servicestack RabbitMQ:当 RabbitMqProducer 无法以 RPC 模式重新声明临时队列时,无限循环会填满死信队列

    当我声明一个临时回复队列是独占的 例如rpc pattern中的匿名队列 exclusive true autodelete true 时 响应消息无法发布到指定的回复队列 例如message replyTo amq gen Jg tv8Q
  • 如何在 Eclipse 中启用 JavaFX 类的自动导入?

    My current Eclipse is Oxygen 2 Release 4 7 2 and there s Java 9 0 1 Essentially Java 9 works and particularly auto impor
  • Python的importlib有什么意义?

    这是 方便包装 吗 https docs python org 2 library importlib html https docs python org 2 library importlib html只是提供另一种写法 import
  • Rails 4.1.6 资产管道未在生产中加载资产和 javascript

    我有一个 ruby on Rails Web 服务器 我正在尝试将其部署到生产中 我在生产中加载资源时遇到问题 css js 和图像 由于 原因 在开发中似乎工作正常 这是我的作品 rb Rails application configur
  • ASP.NET MVC 加上 Silverlight

    在我看来 对于兼具深度和广度功能的结构化开发 ASP NET MVC 和 Silverlight 有潜力打造一个功能强大的框架 具有卓越的 UI 粒度并减少 AJAX 暴露 你们中有人尝试过构建这样一个考虑到未来耐用性的堆栈吗 ASP NE
  • 如何使用“单独”关键字

    我无法找出关键字separateAda 及其深度概念 请举个小例子帮助我理解 假设我有一个嵌套过程 with ada text io use ada text io procedure main is procedure proc is b
  • 复选框仅适用于第一页 - 数据表、导轨

    Senario 所以基本上我正在使用 DataTables 并在其第一列上有复选框 我的数据表有多个页面 分页 问题 当我选中一个页面 可以是任何页面 上的几个框 并且还选中其他页面上的几个框时 仅当我在当前页面上时才会保存结果 我对 da
  • numpy 矩阵行/列上的函数应用

    我正在使用 Numpy 将数据存储到矩阵中 由于具有 R 背景 有一种极其简单的方法可以将函数应用于矩阵的行 列或两者 python numpy 组合有类似的东西吗 编写我自己的小实现不是问题 但在我看来 我提出的大多数版本都会比任何现有的