Numpy vectorize() 正在展平整个数组

2024-05-19

我的输入是一个 numpy 元组数组

values = np.array([(4, 5, 2, 18), (4, 7, 3, 8)])

我的功能如下:

def outerFunc(values):
    print(values)
    def innerFunc(values):
        print(values)
        mean = np.mean(values)
        result = 0
        for i in range(len(values)):
            result += math.pow(values[i] - mean, 2)
        return result

    if isinstance(values, np.ndarray):
        return np.vectorize(innerFunc)(values)
    else:
        return innerFunc(values)

虽然我想对一维进行向量化,即在innerFunc内部执行一个元组,但我的输出如下:

[[ 4  5  2 18]
 [ 4  7  3  8]]
4
...

这意味着向量化函数正在二维上进行向量化,并且我收到以下错误:

for i in range(len(values)):
TypeError: object of type 'numpy.int64' has no len()

需要进行哪些更改才能输出:

[[ 4  5  2 18]
 [ 4  7  3  8]]
[4  5  2 18]
...

像这样的东西

谢谢。

EDIT

当元组长度不同时,它按照可接受的方式工作,任何人都可以解释这一点,

例如,我的输入是

np.array([(4, 5, 2, 18), (4, 7, 3,)])

函数打印

[(4, 5, 2, 18) (4, 7, 3)]
(4, 5, 2, 18)
(4, 7, 3)

返回值是

[158.75         8.66666667]

因此,只有当所有元组的长度相同时,该函数才会将它们视为数字。

谢谢。


In [1]: values = np.array([(4, 5, 2, 18), (4, 7, 3, 8)])                        
In [2]: values                                                                  
Out[2]: 
array([[ 4,  5,  2, 18],
       [ 4,  7,  3,  8]])
In [3]: values.shape                                                            
Out[3]: (2, 4)
In [4]: x=np.array([(4, 5, 2, 18), (4, 7, 3,)])                                 
In [5]: x                                                                       
Out[5]: array([(4, 5, 2, 18), (4, 7, 3)], dtype=object)
In [6]: x.shape                                                                 
Out[6]: (2,)

values是一个二维数值数组。np.vectorize将 8 个元素中的每一个元素(一次一个)传递给您的内部函数。它不按行迭代。

x是一个具有 2 个元素(元组)的一维数组。vectorize会将这些元组中的每一个传递到您的内部。

不要使用vectorize当一个简单的迭代可以工作时 - 它会更慢并且更难正确使用。

创建数组后查看它们,确保您了解形状和数据类型。不要做出假设。

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

Numpy vectorize() 正在展平整个数组 的相关文章

随机推荐

  • WP7如何在TombStoning期间存储LiveConnectSession?

    我正在使用 MS 提供的 PhotoSkyOnTheGo 示例的 Windows 实时登录策略 因此 当我的应用程序启动时 它会显示 Windows 实时登录页面 在应用程序运行时 我记得 LiveConnectSession 连接到 Sk
  • 从logstash中的文件名获取事件的时间戳

    我们有一个将事件写入文件的进程 没有时间戳 文件名本身带有时间戳后缀 该时间戳应用于文件中的所有事件 现在 我尝试使用logstash的输入文件插件来解析该文件 有没有一种方法可以将文件名获取到字段 以便我可以使用 gsub 过滤器提取时间
  • 何时评估 F# 函数调用;懒惰地还是立即地?

    F 中的柯里化函数 我知道传入参数子集会产生一个带有预设的函数 我只是想知道传递所有参数是否有什么不同 例如 let addTwo x y x y let incr a addTwo 1 let added addTwo 2 2 incr是
  • SQL Server OPENJSON读取嵌套json

    我有一些想要在 SQL Server 2016 中解析的 json 有一个项目 gt 结构 gt 属性的层次结构 我想编写一个解析整个层次结构的查询 但我不想通过索引号指定任何元素 即我不想做这样的事情 openjson json 0 or
  • libxmljs 的替代品 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 目标 使用 Node js 访问网页 使用 xpath 语法操作 DOM 并打印新的 DOM libxm
  • CSS3变换:悬停时翻译,带有过渡[重复]

    这个问题在这里已经有答案了 这应该很简单 我的 HTML 中有一堆锚点 如下所示 a href Link 1 a a href Link 2 a a href Link 3 a a href Link 4 a a href Link 5 a
  • 纯基于网络的版本控制系统

    我的托管服务当前不允许在其服务器上运行 允许 svn git cvs 我真的希望能够将我的开发计算机上的当前源代码与我的生产服务器 同步 我正在寻找一个纯php python ruby版本控制系统 不只是一个client对于版本控制系统 不
  • 获取对 iOS 应用程序中最顶层视图/窗口的引用

    我正在创建一个可重用的框架 用于在 iOS 应用程序中显示通知 我希望将通知视图添加到应用程序中其他所有内容的顶部 有点像 UIAlertView 当我初始化监听 NSNotification 事件并添加视图作为响应的管理器时 我需要获取对
  • docker 容器是否即时获取代码更改?

    我已经启动并运行了我的 docker 容器 有一个容器运行一些 python 代码 我发现它导致了一些错误 我想将一些代码行 主要是更多日志 添加到该特定容器内的 python 脚本中 我想进入容器docker exec ti contai
  • 如何创建没有循环关系的树形表?

    CREATE TABLE TREE node1 id UUID REFERENCES nodes object id NOT NULL node2 id UUID REFERENCES nodes object id NOT NULL CO
  • pandas read_excel(sheet name = None) 返回字符串字典,而不是数据帧?

    The pandas read excel 文档 https pandas pydata org pandas docs stable generated pandas read excel html说指定工作表名称 无应该返回 所有工作表
  • JSF 2.0 Facelets 模板继承

    这是一个扩展的转发JSF 2 0 Facelets 嵌套模板继承 https stackoverflow com questions 5323937 jsf 2 0 facelets nested templates inheritance
  • 如何从 SQLite 获取记录总数

    我正在尝试从 Sqlite DB 获取行的总数 以下是我想要做的代码片段 我不知道我在这里做错了什么 public static int getTotalCount Context context Cursor c null try c g
  • 是否可以将 RestAngular.setBaseUrl 用于两个 api 访问点?

    是否可以使用具有 2 个不同 API 的 Restangular 来工作 我想拥有setBaseUrl 对彼此而言 只需创建两个或多个 Restangular 服务并根据需要配置它们 然后注入您想要使用的模块 UPDATE 这段代码来自 r
  • Phonegap - 如何将.txt文件保存在Android手机的根目录中

    我正在尝试使用phonegap 将 txt 文件保存在Android 手机的根目录中 我已经安装了这些插件 cordova plugin file 和 cordova plugin file transfer 在 config xml 文件
  • 如何更改刻度标签字体大小

    在 matplotlib 图中 如何使用以下命令设置刻度标签的字体大小ax1 set xticklabels 更小 此外 如何将其从水平旋转为垂直 其实还有更简单的方法 我刚刚发现 import matplotlib pyplot as p
  • 如何在Windows服务器上将node.js文件作为后台进程运行?

    我正在创建一个 node js 项目并将其上传到我的 Windows 服务器 以为移动应用程序提供 API 服务 当我打开命令提示符并键入 node app js 它运行正常 但是当我关闭命令提示符时 我的 Node js 服务器停止运行
  • sed 错误“未终止的 's' 命令”故障排除

    我正在构建一个script https stackoverflow com questions 4036832 replacing a specific term in an xml file其中 它将用文件夹路径替换 XML 文件中的模式
  • 闪亮的应用程序包:css 和所有 www/ 目录内容

    我正在尝试将 Shiny 应用程序转换为 R 包 但我在处理有关 www 目录以及 松散 文件的所有问题时遇到了问题 我闪亮的应用程序运行得很好 但是当我尝试 打包它 时 它不起作用 我闪亮的应用程序目录 my shiny app R ut
  • Numpy vectorize() 正在展平整个数组

    我的输入是一个 numpy 元组数组 values np array 4 5 2 18 4 7 3 8 我的功能如下 def outerFunc values print values def innerFunc values print