给定一个相同(用户指定)对象的 numpy 数组结构,有没有办法一次引用所有这些对象?
例如,给定一个日期类型对象的 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)
Run Code Online (Sandbox Code Playgroud)
认为你可以通过以下方式做到这一点:
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])
Run Code Online (Sandbox Code Playgroud)
根据评论编辑:
B = array([x.replace(year=x.year+10) for x in B])
Run Code Online (Sandbox Code Playgroud)
请注意,使用 from module import * 并不是很好 - 最好只导入您真正需要的类和函数。
归档时间: |
|
查看次数: |
2040 次 |
最近记录: |