異なる時間表現間で変換する

はい。 訪問時間. 私たちはどのように訪問するかを理解しました TimeSeries そして BinnedTimeSeries 授業を受けます。ここで、私たちは生成された時間をどのように操作するかをより詳細に理解するつもりだ。

時間を切り替える

時系列の時系列は常に Time 対象者は Time 時間を異なるフォーマットや目盛りに変換する。

例を引く

修正されたジュリアン日時を最小時系列から取得するには、以下の操作を実行してください。

>>> from astropy import units as u
>>> from astropy.timeseries import TimeSeries
>>> ts = TimeSeries(time_start='2016-03-22T12:30:31', time_delta=3 * u.s,
...                 data={'flux': [1., 3., 4., 2., 4.]})
>>> ts.time.mjd  
array([57469.52119213, 57469.52122685, 57469.52126157, 57469.5212963 ,
       57469.52133102])

タイムズをTemps Atomique International(TAI)スケールに変換したりします

>>> ts.time.tai
<Time object: scale='tai' format='isot' value=['2016-03-22T12:31:07.000' '2016-03-22T12:31:10.000'
 '2016-03-22T12:31:13.000' '2016-03-22T12:31:16.000'
 '2016-03-22T12:31:19.000']>

データの現在の時間スケールを検索するためには、以下の動作を実行することができる。

>>> ts.time.scale
'utc'

時間と日付 (astropy.time ) アクセスおよび変換時間のより多くの文書については、参照されたい。

時間をフォーマットする.

各時間列は Time オブジェクトは、時系列を表示するためのデフォルトフォーマットおよび割合を変更するために使用されてもよい。 format そして scale 属性です。

例を引く

時系列の表示を変更するには、以下の操作を実行してください。

>>> ts.time.format = 'isot'
>>> ts
<TimeSeries length=5>
          time            flux
         object         float64
----------------------- -------
2016-03-22T12:30:31.000     1.0
2016-03-22T12:30:34.000     3.0
2016-03-22T12:30:37.000     4.0
2016-03-22T12:30:40.000     2.0
2016-03-22T12:30:43.000     4.0
>>> ts.time.format = 'unix'
>>> ts  
<TimeSeries length=5>
    time       flux
   object    float64
------------ -------
1458649831.0     1.0
1458649834.0     3.0
1458649837.0     4.0
1458649840.0     2.0
1458649843.0     4.0

他の時間に対する時間

場合によっては、絶対時間ではなく相対時間を使用することが有用かもしれない。これは使用することで TimeDelta 種類ではなく Time クラスは例えば既存の Time 物体です。

例を引く

絶対時間ではなく相対時間を使用するためには、以下の操作を実行してください。

>>> ts_rel = TimeSeries(time=ts.time - ts.time[0])
>>> ts_rel  
<TimeSeries length=5>
         time
        object
----------------------
                   0.0
 3.472222222222765e-05
  6.94444444444553e-05
0.00010416666666657193
0.00013888888888879958

♪the TimeDelta 値は、以下のコマンドを使用して異なる時間単位(例えば、秒)に変換することができる。

>>> ts_rel.time.to('second')
<Quantity [ 0.,  3.,  6.,  9., 12.] s>