如果给定一个相同(用户指定)对象的数组结构,那么有没有办法一次引用所有对象?如何访问numpy数组结构中的对象属性
E.g.给定一个类型为date的对象的数组结构,是否有一种方法可以取得多年的平均值,而无需使用for循环或对数组中每个对象的年份属性进行+1 +1?
示例代码如下。
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)
感谢您的快速回复!如果您也可以考虑以下事项,我将非常感激。如何从每个年份属性(2012,2011,2010)中减去10年并将新值存储在相同对象(结构B)中? –
@rm检查我的补充答案是否可以帮助您 –
感谢您的更新!你能否澄清一个细节?对于B中的x []的[x.replace(year = x.year + 10)]行是否创建日期对象的新副本还是操作原始对象?在进行一些测试之后,我认为它会创建一个包含原始日期对象副本的新列表。 –