我有一个 numpy 数组中的数据(从 .csv 文件中读取)。np.genfromtxt 的相关摘录是:
dtype = [("Category", "|S10"),
("Status", "|S11"),
("Date_start", object),
("Date_stop", object)],
names=True,
converters={2:lambda d:datetime.strptime(d, "%d/%m/%y"),
3:lambda d:datetime.strptime(d, "%d/%m/%y")}
)
一切正常,只有一个例外——访问日期时间对象的元素。以下两行代码完全符合我的预期:
print inp['Date_start'][1].month #returns 7
print np.where(inp['Category'] == '"R5"') #returns an array of matching indices
但下面的代码行抛出一个AttributeError: 'numpy.ndarray' object has no attribute 'month'
print np.where(inp['Date_start'].month == 7)
这意味着我无法根据事情发生的月份返回结果,而我需要这样做。
有没有办法从 np.where 获得我想要的行为?