访问 numpy 数组中元素的属性

2024-01-07

我有一个充满对象(dtype = object)的numpy数组cftime class.

In [1]: a
Out[1]: 
array([cftime.DatetimeNoLeap(2000, 1, 1, 11, 29, 59, 999996, 5, 1),
       cftime.DatetimeNoLeap(2000, 1, 2, 11, 29, 59, 999996, 6, 2),
       cftime.DatetimeNoLeap(2000, 1, 3, 11, 29, 59, 999996, 0, 3)],
      dtype=object)

In [2]: type(a[0])
Out[2]: cftime._cftime.DatetimeNoLeap

这些对象中的每一个都有一个属性month.

a[0].month
Out[66]: 1

我想获得一个具有相同形状的新 numpy 数组,但为原始数组的每个元素填充此属性。就像是b=a.month。但显然这失败了,因为a是一个 numpy 数组,没有month属性。我怎样才能达到这个结果?

PS:当然,我可以使用普通的 Python 循环来完成此操作,但我想遵循完全 numpy 的方法:

b=np.zeros_like(a, dtype=int)
for i in range(a.size):
    b[i] = a[i].month

您可以使用np.vectorize https://docs.scipy.org/doc/numpy-1.9.2/reference/generated/numpy.vectorize.html,以便将函数映射到数组中的每个元素。对于这种情况,您可以定义一个自定义lambda提取每个条目的月份的函数lambda x: x.month:

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

访问 numpy 数组中元素的属性 的相关文章

随机推荐

  • 将 Apache Cordova/PhoneGap 与 Android 2.x 结合使用

    似乎不可能为 Android 2 x 创建 PhoneGap 应用程序 是对的吗 要使用phonegap运行Android应用程序 请将您的应用程序构建为Android 4 0 3 并将最低版本设置为您想要的较低版本 基本上 Android
  • cPanel cron 作业,未指定输入文件?

    我刚刚设置了我的第一个 cron jon 来每晚运行一个股票脚本 手动运行它效果很好 它存储在 admin stock update php中 我正在运行的命令是 usr bin php q admin stock update php 但
  • 如何对类的单个枚举进行 Javadoc

    我正在为一个包含自己的枚举的类编写 Javadoc 有没有办法为各个枚举生成 Javadoc 例如 现在我有这样的事情 This documents HairColor private static enum HairColor BLACK
  • 从方法返回泛型类型的实例

    我想要一个方法getInstance它接受一个字符串值并返回一个对象实例 在方法签名中定义为泛型 def getInstance T dataStr String Option T T match case typeOf String gt
  • Avro 模式中的多态性和继承

    是否可以编写一个 Avro 模式 IDL 来生成一个扩展基类或实现接口的 Java 类 生成的 Java 类似乎扩展了org apache avro specific SpecificRecordBase 因此 工具可能是一条出路 但是 我
  • 由矩形组成的形状最少有多少个矩形?

    我不确定是否有算法可以解决这个问题 将给定数量的矩形从左到右水平并排放置以形成一个形状 您将获得每个的宽度和高度 您如何确定覆盖整个形状所需的最小矩形数量 即 您将如何使用尽可能少的矩形重新绘制该形状 我只能考虑尝试挤压尽可能多的大矩形 但
  • 有没有办法区分 iPhone 3G/S 访问者和 iPhone 4 访问者?

    我想为 iPhone 4 用户加载更高分辨率的图片 但我知道检测用户的唯一方法是通过用户代理 但我的印象是任何 iOS4 手机上的 MobileSafari 用户代理都是一样的 我该怎么做才能检测到 iPhone 4 您可以使用 CSS3
  • 如何使用 java 和 xmlunit 比较具有相同命名空间但不同前缀的两个 xml

    我有 2 个 xml 文件 问题出在属性前缀中
  • 水平 ListView Xamarin.Forms

    有什么办法可以创建ListView with horizontal scroll in Xamarin Forms喜欢图像 这就是我为垂直所做的 var myListView new ListView ItemTemplate new Da
  • 在同一端口上运行两个 Web 应用程序?

    我们有两个不同的 Java Web 应用程序 名为 foo war 和 bar war 我们希望将它们部署在 Jetty 服务器上 Jetty 正在机器上的 8080 端口上运行 是否可以在同一端口上同时运行两个应用程序 如果没有 在同一码
  • 单击通知即可转到当前活动

    我正在使用这个解决方案 如何使通知意图恢复而不是制定新意图 https stackoverflow com questions 3305088 how to make notification intent resume rather th
  • JMS消息大小

    我目前正在研究使用 JMS 即 Spring 框架 JMS 和 Active MQ 在服务器和客户端之间发送有效负载消息的应用程序的带宽限制功能 不要问我为什么 这不是我的决定 我发现了很多限制传入 JMS 消息的方法 但没有一个基于实际带
  • 合并两个具有相同列名的数据框

    我有两个具有这种格式的 data frame 这是数据集的一小部分 数据框1 ID precip lat lon 1 45 115 122 5 2 42 5 130 122 5 3 40 155 122 5 4 37 5 140 122 5
  • 使用 system() 在 C 中执行 sudo 命令

    我正在编写一段 C 代码 它将运行一些sudo命令输入system sudo ip route 函数调用 此调用是在主线程创建的 pthread 中完成的 并且主程序正在执行sudo program启动时 当我运行该程序时 Ubuntu 提
  • Firefox 上的

    当我在按钮元素内的 span 元素的单击事件上绑定操作时 我遇到了 Firefox 32 的问题 其他浏览器似乎运行良好 这里的jsFiddle 上说明问题的代码 http jsfiddle net tqf0z7x5 span Workin
  • 在具有多个模块(如 JHipster)的项目中嵌套角度组件

    我试图在另一个实体组件中显示一个实体组件 我在网上找到了一些关于共享模块的信息 我也检查了这个post https stackoverflow com questions 42284351 jhipster 4 how to put ent
  • 使用服务器变量配置 URL 重写以支持多个源

    几天前我正在处理 CORS 问题 我需要支持多个来源 我做了一些研究 发现有几篇文章向我介绍了这个很棒的工具 URL 重写 我按照 Paco Zarate 提示得到了我想要的解决方案 具有多个域的访问控制允许来源 https stackov
  • $new = new self($data);带有私有函数甚至变量oO?

    我的 php 5 3 有一个奇怪的行为 我有一个类在函数中执行此操作 new new self data new gt setServiceManager this gt service new gt cacheInstance 但是函数c
  • 确定Linux键盘事件设备

    这另一个问题 从 Linux 输入设备访问按键 https stackoverflow com questions 20943322 accessing keys from linux input device 提供了有关如何在没有按下其他
  • 访问 numpy 数组中元素的属性

    我有一个充满对象 dtype object 的numpy数组cftime class In 1 a Out 1 array cftime DatetimeNoLeap 2000 1 1 11 29 59 999996 5 1 cftime