【问题标题】:How to reference numpy array objects?如何引用numpy数组对象?
【发布时间】:2011-11-20 16:21:19
【问题描述】:

我有 numpy 数组:

>>> data
    dtype([('date', '|O4'), ('value', '<f8')]

其中date 对象是 Python datetime.date 对象,它由一年中的所有天组成:[2010-1-1, ..., 2010-12-31] 和 value 对象是对应的值数据日期。

我如何才能仅返回 9 月的值数据?

【问题讨论】:

  • 数组是否按日期排序?

标签: python indexing numpy


【解决方案1】:

您可以使用布尔数组来索引data

import numpy as np
import datetime as dt
dates=[dt.date(2010,1,1)+dt.timedelta(days=i) for i in range(365)]
values=range(365)
data=np.array(zip(dates,values),dtype=[('dates','object'),('value','<f8')])

(data['dates']&gt;=dt.date(2010,9,1)) &amp; (data['dates']&lt;dt.date(2010,10,1)) 是一个与data 长度相同的布尔数组,对于 9 月的所有日期都是 True

print(data['value'][(data['dates']>=dt.date(2010,9,1)) &
           (data['dates']<dt.date(2010,10,1))])

【讨论】:

  • 优秀。我希望有这样的东西
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多