TimeDelta#
- class astropy.time.TimeDelta(val, val2=None, format=None, scale=None, precision=None, in_subfmt=None, out_subfmt=None, location=None, copy=False)[源代码]#
基类:
TimeBase
表示两次之间的时差。
TimeDelta对象在
val
争论。输入时间val
必须符合规定format
. 可选的val2
时间输入只能用于要求非常高精度(优于64位精度)的数字输入格式(例如JD)。的允许值
format
可列出:>>> list(TimeDelta.FORMATS) ['sec', 'jd', 'datetime', 'quantity_str']
请注意,对于时间差,比例尺可以分为三组:地心(‘tai’,‘tt’,‘tcg’)、重心(‘tcb’,‘tdb’)和旋转(‘ut1’)。在每一种情况下,时间差的尺度是相同的。地心和重心之间的转换是可能的,因为只有一个比例因子的变化,但不能转换为或从“ut1”转换,因为这需要了解实际时间,而不仅仅是它们的差异。出于类似的原因,“utc”不是时间差的有效刻度:utc日并不总是86400秒。
有关详细信息,请参阅:
- 参数:
- val : sequence ,
ndarray
, number ,Quantity
或TimeDelta
object
Python:Sequence、ndarray、Number、Quantity或TimeDelta对象 初始化时差的值。任何数量将被适当地转换(注意避免常规时间单位的舍入误差)。
- val2 : sequence ,
ndarray
, number ,或Quantity
;可选PYTHON:序列、ndarray、数字或数量;可选 为保持精度所需的附加值。
- format :
str
,可选Python:字符串,可选 输入值的格式。对于不带单位的数字输入,假定为“JD”,并将值解释为天。在这种情况下,将引发弃用警告。若要避免该警告,请指定格式或向输入值添加单位。
- scale :
str
,可选Python:字符串,可选 输入值的时间刻度,必须是以下值之一:(“tdb”、“tt”、“ut1”、“tcg”、“tcb”、“tai”)。如果未给出(或
None
),刻度是任意的;当从Time
实例,则不进行转换就可以使用它。- precision :
int
,可选PYTHON:int,可选 时间的字符串表示中的精度位数
- in_subfmt :
str
,可选Python:字符串,可选 Unix glob选择用于分析输入时间的子格式
- out_subfmt :
str
,可选Python:字符串,可选 Unix glob选择输出时间的子格式
- copy : bool ,可选可选的布尔
复制输入值
- val : sequence ,
属性摘要
时间增量格式的Dict。
时间增量刻度列表。
返回一个实例,并将数据转置。
返回与此实例关联的缓存。
获取或设置时间格式。
Unix通配符模式,用于选择用于分析字符串输入时间的子格式。
用于存储诸如名称、描述、格式等元信息的容器。
在JD中内部存储时间值的两个双精度值中的第一个。
JD商店的第二(2)倍的时间价值。
面具。
实例是否使用屏蔽值。
实例和基础数组的维度数。
Unix通配符模式,用于选择用于输出时间的子格式。
以浮点形式输出秒时的十进制精度(0到9之间的整数值)。
时间尺度。
时间实例的形状。
根据形状计算的对象大小。
获取一个不带遮罩的实例。
当前格式的时间值(S)。
方法总结
argmax
([axis, out])返回给定轴上最大值的索引。
argmin
([axis, out])返回沿给定轴的最小值的索引。
argsort
([axis, kind])返回将对时间数组进行排序的索引。
copy
([format])返回时间对象的完全独立副本,可以选择更改格式。
diagonal
(*args, **kwargs)返回具有指定对角线的实例。
filled
(fill_value)获取底层数据的副本,并填充掩码值。
flatten
(*args, **kwargs)返回数组折叠为一维的副本。
insert
(obj, values[, axis])isclose
(other[, atol, rtol])返回一个布尔数组或布尔数组,其中两个TimeDelta对象在时间容差内元素上相等。
max
([axis, out, keepdims])沿给定轴的最大值。
mean
([axis, dtype, out, keepdims, where])沿给定轴的平均值。
min
([axis, out, keepdims])沿给定轴的最小值。
ptp
([axis, out, keepdims])ravel
(*args, **kwargs)返回数组折叠为一维的实例。
replicate
(*args, **kwargs)返回时间对象的副本,可以选择更改格式。
reshape
(*args, **kwargs)返回包含具有新形状的相同数据的实例。
sort
([axis])返回沿指定轴排序的副本。
squeeze
(*args, **kwargs)返回删除了一维形状条目的实例。
swapaxes
(*args, **kwargs)返回交换给定轴的实例。
take
(indices[, axis, out, mode])返回由给定索引处的元素构成的新实例。
to
(unit[, equivalencies])转换为指定单位的数量。
to_datetime
\()转换为
datetime.timedelta
对象。to_string
\()输出Time或TimeDelta对象的字符串表示形式。
to_value
(*args, **kwargs)获取以指定的输出格式或单位表示的时间增量值。
transpose
(*args, **kwargs)返回一个实例,并将数据转置。
属性文档
- FORMATS = {'datetime': <class 'astropy.time.formats.TimeDeltaDatetime'>, 'jd': <class 'astropy.time.formats.TimeDeltaJD'>, 'quantity_str': <class 'astropy.time.formats.TimeDeltaQuantityString'>, 'sec': <class 'astropy.time.formats.TimeDeltaSec'>}#
时间增量格式的Dict。
- SCALES = ('tai', 'tt', 'tcg', 'tcb', 'tdb', 'ut1', 'local')#
时间增量刻度列表。
- cache#
返回与此实例关联的缓存。
- format#
获取或设置时间格式。
该格式定义了通过访问时表示时间的方式
.value
属性。默认情况下,它与初始化Time
实例,但可以将其设置为可用于初始化的任何其他值。这些可以用以下方式列出:>>> list(Time.FORMATS) ['jd', 'mjd', 'decimalyear', 'unix', 'unix_tai', 'cxcsec', 'gps', 'plot_date', 'stardate', 'datetime', 'ymdhms', 'iso', 'isot', 'yday', 'datetime64', 'fits', 'byear', 'jyear', 'byear_str', 'jyear_str']
- in_subfmt#
Unix通配符模式,用于选择用于分析字符串输入时间的子格式。
- info#
用于存储诸如名称、描述、格式等元信息的容器。当对象用作表中的mixin列时,这是必需的,但也可以作为存储元信息的通用方法。
- isscalar#
- jd1#
在JD中内部存储时间值的两个双精度值中的第一个。
- jd2#
JD商店的第二(2)倍的时间价值。
- location#
- mask#
- masked#
- ndim#
实例和基础数组的维度数。
- out_subfmt#
Unix通配符模式,用于选择用于输出时间的子格式。
- precision#
以浮点形式输出秒时的十进制精度(0到9之间的整数值)。
- scale#
时间尺度。
- shape#
时间实例的形状。
喜欢
shape
,可以通过指定元组设置为新形状。请注意,如果不同的实例共享一些但不是所有的底层数据,那么设置一个实例的形状可能会使另一个实例不可用。因此,强烈建议对新实例进行重新构造reshape
方法。- 加薪:
ValueError
如果新形状的元素总数错误。
AttributeError
如果
jd1
,jd2
,location
,delta_ut1_utc
或delta_tdb_tt
如果不复制数组,则无法更改属性。对于这些情况,请使用Time.reshape
方法(该方法复制任何不能就地重塑的数组)。
- size#
根据形状计算的对象大小。
- value#
当前格式的时间值(S)。
- writeable#
方法文件
- argmax(axis=None, out=None)#
返回给定轴上最大值的索引。
这和
argmax()
,但为了确保两个数字的完全精度翻倍jd1
和jd2
被使用。看到了吗argmax()
有关详细文档。
- argmin(axis=None, out=None)#
返回沿给定轴的最小值的索引。
这和
argmin()
,但为了确保两个数字的完全精度翻倍jd1
和jd2
被使用。看到了吗argmin()
有关详细文档。
- argsort(axis=-1, kind='stable')#
返回将对时间数组进行排序的索引。
这和
argsort()
,但为了确保两个数字的完全精度翻倍jd1
和jd2
,并复制相应的属性。在内部,它使用lexsort()
,因此无法选择排序方法。
- copy(format=None)#
返回时间对象的完全独立副本,可以选择更改格式。
如果
format
则返回的时间对象的时间格式将相应设置,否则将与原始时间对象保持不变。在此方法中,将生成内部时间数组的完整副本。内部时间数组通常不会被用户更改,因此在大多数情况下
replicate()
应使用方法。
- diagonal(*args, **kwargs)#
返回具有指定对角线的实例。
参数与
diagonal()
. 所有内部数据都是原始数据的视图。
- filled(fill_value)#
获取底层数据的副本,并填充掩码值。
- 参数:
- fill_value :
object
对象 要替换掩码值的值。
- fill_value :
- 返回:
- filled例如
副本
self
将掩蔽项替换为fill_value
.
参见
unmasked
获得没有面具的实例。
- insert(obj, values, axis=0)#
在列中的给定索引之前插入值,并返回一个新的
Time
或TimeDelta
对象。要插入的值必须符合的就地设置规则
Time
对象(请参见Get and set values
在Time
文件)。API签名与
np.insert
API,但更为有限。插入索引规范obj
必须是单个整数,并且axis
必须是0
用于索引前的简单行插入。- 参数:
- obj :
int
Python :整型 前一个整数索引
values
插入。- values : array_likeNumpy:ARRAY_LIKE
要插入的值。如果
values
与数量不同,values
转换为匹配类型。- axis :
int
,可选PYTHON:int,可选 插入轴
values
. 默认值为0,这是唯一允许的值,将插入一行。
- obj :
- 返回:
- out :
Time
子类时间子类 具有插入值的新时间对象
- out :
- isclose(other, atol=None, rtol=0.0)[源代码]#
返回一个布尔数组或布尔数组,其中两个TimeDelta对象在时间容差内元素上相等。
这将有效地计算以下表达式:
abs(self - other) <= atol + rtol * abs(other)
- max(axis=None, out=None, keepdims=False)#
沿给定轴的最大值。
这和
max()
,但为了确保两个数字的完全精度翻倍jd1
和jd2
,并复制相应的属性。请注意
out
参数仅用于与兼容np.max
;因为Time
实例是不可变的,不可能有一个out
将结果存储在中。
- mean(axis=None, dtype=None, out=None, keepdims=False, *, where=True)#
沿给定轴的平均值。
这类似于
mean()
,但进行了调整,以确保两个双精度jd1
和jd2
并复制相应的属性。请注意,
out
参数的存在只是为了与np.mean
;自Time
实例是不可变的,因此不可能具有实际的out
将结果存储在。类似地,
dtype
参数也只是为了兼容性而存在;它对Time
。- 参数:
- axis :
None
或int
或tuple
的int
,可选PYTHON:NONE或PYTHON:INT或PYTHON:PYTHON的元组:INT,可选 沿其计算平均值的一个或多个轴。默认情况下,计算展平数组的平均值。
- dtype :
None
Python :无 - out :
None
Python :无 - keepdims : bool ,可选可选的布尔
如果设置为True,则减少的轴将作为尺寸为1的尺寸保留在结果中。使用此选项,结果将针对输入数组正确广播。
- where : array_like 的 bool ,可选NumPy:bool的数组_like,可选
要包含在平均值中的元素。看见
reduce
了解更多细节。
- axis :
- 返回:
- m :
Time
时间 包含平均值的新时间实例
- m :
- min(axis=None, out=None, keepdims=False)#
沿给定轴的最小值。
这和
min()
,但为了确保两个数字的完全精度翻倍jd1
和jd2
,并复制相应的属性。请注意
out
参数仅用于与兼容np.min
;因为Time
实例是不可变的,不可能有一个out
将结果存储在中。
- ptp(axis=None, out=None, keepdims=False)#
自 7.0 版本弃用: Ptp功能已被弃用,可能会在未来的版本中删除。 改用NP.Ptp。
沿给定轴的峰对峰(最大值-最小值)。
这种方法类似于
numpy.ptp()
函数,但经过调整以确保两个双精度型jd1
和jd2
采用了
- ravel(*args, **kwargs)#
返回数组折叠为一维的实例。
参数与
ravel()
. 请注意,在不复制数据的情况下,不可能总是分解数组。如果要在复制数据时引发错误,则应指定形状(-1,)
到形状属性。
- replicate(*args, **kwargs)[源代码]#
返回时间对象的副本,可以选择更改格式。
如果
format
则返回的时间对象的时间格式将相应设置,否则将与原始时间对象保持不变。如果
copy
设置为True
然后将生成内部时间数组的完整副本。默认情况下,为了节省内存,复制副本将使用对原始阵列的引用。内部时间数组通常不可由用户更改,因此在大多数情况下不需要设置copy
到True
.方便方法copy()可用,其中
copy
是True
默认情况下。
- reshape(*args, **kwargs)#
返回包含具有新形状的相同数据的实例。
参数与
reshape()
。请注意,并非总是可以在不复制数据的情况下更改数组的形状(请参见reshape()
文档)。如果希望在复制数据时引发错误,则应将新形状分配给Shape属性(注意:这可能不适用于所有使用NDArrayShapeMethods
)。
- sort(axis=-1)#
返回沿指定轴排序的副本。
这和
sort()
,但内部使用索引lexsort()
以确保两个数字的完全精度加倍jd1
和jd2
保留,并且相应的属性也被正确地排序和复制。
- swapaxes(*args, **kwargs)#
返回交换给定轴的实例。
参数与
swapaxes()
:axis1, axis2
. 所有内部数据都是原始数据的视图。
- to(unit, equivalencies=[])[源代码]#
转换为指定单位的数量。
- 参数:
- unit : astropy:unit-like占星体:单位状
要转换为的单位。
- equivalencies :
list
的tuple
PYTHON:PYTHON列表:元组 单位不可直接转换时要尝试的等价对列表(请参见 等价物 )。如果
None
,则根本不会应用等价物,甚至不会在全球范围内或在上下文中应用任何集合。
- 返回:
- 量 :
Quantity
数量 以指定单位表示的数量。
- 量 :
参见
to_value
取给定单位的数值。
- to_string()#
输出Time或TimeDelta对象的字符串表示形式。
类似于
str(self.value)
(它使用NumPy数组格式),但数组值仅针对实际输出的项进行求值。对于大型阵列,这可以显著提高性能。- 返回:
- out :
str
Python :字符串 时间值的字符串表示形式。
- out :
- to_value(*args, **kwargs)[源代码]#
获取以指定的输出格式或单位表示的时间增量值。
此方法非常灵活,可以处理到指定的
TimeDelta
格式化/子格式并转换为指定单位。如果提供了位置参数,则会检查第一个参数是否有效TimeDelta
格式,然后检查它是否是有效的单位或单位字符串。转换为
TimeDelta
格式和可选子格式选项有:tm = TimeDelta(1.0 * u.s) tm.to_value('jd') # equivalent of tm.jd tm.to_value('jd', 'decimal') # convert to 'jd' as a Decimal object tm.to_value('jd', subfmt='decimal') tm.to_value(format='jd', subfmt='decimal')
要转换为具有可选等效性的单位,选项包括:
tm.to_value('hr') # convert to u.hr (hours) tm.to_value('hr', equivalencies=[]) tm.to_value(unit='hr', equivalencies=[])
内置的
TimeDelta
选项:format
如下所示:>>> list(TimeDelta.FORMATS) ['sec', 'jd', 'datetime', 'quantity_str']
对于两种数字格式‘jd’和‘sec’,可用的
subfmt
选项有:{‘浮点’,‘长’,‘小数’,‘字符串’,‘字节’}。在这里,‘long’用numpy.longdouble
为了在一定程度上提高精度(增强程度取决于平台),以及的“十进制”实例decimal.Decimal
为了达到完全的精确度。对于‘str’和‘bytes’子格式,也选择数字的数量,以便准确地表示时间值。默认值:由设置者设置out_subfmt
(默认情况下,它为给定格式选择第一个可用的格式,即‘Float’)。- 参数:
- format :
str
,可选Python:字符串,可选 一个人想要的格式
TimeDelta
价值观。默认:当前格式。- subfmt :
str
,可选Python:字符串,可选 应给出值的可能子格式。默认值:按设置
out_subfmt
(默认情况下,它选择第一个可用的给定格式,即“float”或“date_hms”)。- unit :
UnitBase
instance orstr
,可选UnitBase实例或python:str,可选 给出数值的单位。
- equivalencies :
list
的tuple
PYTHON:PYTHON列表:元组 单位不可直接转换时要尝试的等价对列表(请参见 等价物 )。如果
None
,则根本不会应用等价物,甚至不会全局或在上下文中应用任何集合。
- format :
- 返回:
- transpose(*args, **kwargs)#
返回一个实例,并将数据转置。
参数与
transpose()
. 所有内部数据都是原始数据的视图。