2016-09-26 7 views
0

私は天文学アプリケーションの基本シミュレーションを書いています。私は観測のリストである.csvファイルを持っています。それは列2,3,4,5が十進法の時、日、月、年である11列を尊重しています。残りは名前、座標などです。毎晩、選択されたオブジェクトが1夜に1回観察されます。時間データを配列の値に変換する

これらの列の各エントリは、観察が行われたときに対応します。たとえば、22.583, 5, 1, 2015は、2015年1月5日の22:35 pm(0.583は35/60分を端数とします)に相当します。ファイル全体が5分間隔で「解決」されます。

また、指定された時間間隔でデータを生成するコードを記述しました。

私が望むのは、4つの時刻と日付の列を解釈して、「t = 0から5分後に何回」という単純な値のタイムスタンプを持つ方法です。

これにより、最初の5回の観測で0,1,2,3,4 ...という1つの時間 - 日付配列が得られます。元のcsvファイルでは、データが5分ごとにすべての領域を占有していないことに注意してください。変化する長さのギャップがあります。

最終的に私は、各オブジェクトが観察されたときの時間 - 日付値のリストを持つことができるようにしたい。

例として

、私が今持っていることである(列1,2,3,4,5の場合のみ):

t_star1 = [3, 291,...] 
t_star2 = [7, 295,...] 
t_star3 = [11, 299,...] 
:私はに変身したい

star1, 0.250, 1, 1, 2015 
star2, 0.583, 1, 1, 2015 
star3, 0.916, 1, 1, 2015 
star1, 0.250, 2, 1, 2015 
star2, 0.583, 2, 1, 2015 
star3, 0.916, 2, 1, 2015... 

ここでは、2015年1月1日に00:00をt = 0として使用したので、00:05/1/1/2015はt = 1であり、5分ごとに続きます。私のCSVファイルは実際には10年間実行され、約70,000のエントリがあります。

これは(私にとっては)時間の欄で時間/分が面白いやり方で表現され、毎月の日数が異なることです。だから、何かのタイムスタンプを見つけるのは簡単な操作ではありません。

ありがとうございます!

+0

Unixエポックから何秒に変換するのですか? 2015年1月1日00:00から5分間隔の代わりに、それは比較的簡単に 'datetime.datetime'を使用するでしょう... – Aaron

答えて

2

は標準datetimeモジュールの使用を検討してください:datetimeそしてhttps://docs.python.org/3.5/library/datetime.html

from datetime import datetime 
hourminute = .25 
day = 1 
month = 1 
year = 2015 
datetime(year, month, day, int(hourminute//1), round(int((hourminute%1) * 60))) 

を時間repersentations間の変換のための方法の束を有します。

関連する問題