给定相同(用户指定)对象的numpy数组结构,有没有办法一次引用所有这些对象?
例如.给定一个类型为date的对象的numpy数组结构,有没有办法在不使用for循环或数组中每个对象的1到year属性的情况下取多年的平均值?
示例代码如下.
from numpy import *
from datetime import *
#this works
A = array([2012, 2011, 2009])
print average(A)
date1 = date(2012,06,30)
date2 = date(2011,06,30)
date3 = date(2010,06,30)
B = array([date1, date2, date3])
print B[0].year
print B[1].year
print B[2].year
#this doesn't
print average(B.year)
最佳答案 认为您可以通过以下方式执行此操作:
from numpy import array, average
from datetime import date
date1 = date(2012,06,30)
date2 = date(2011,06,30)
date3 = date(2010,06,30)
B = array([date1, date2, date3])
avYear = average([x.year for x in B])
根据评论编辑:
B = array([x.replace(year=x.year+10) for x in B])
请注意,使用from module import *并不是很好 – 最好只导入您真正需要的类和函数.