1

Python の場合:

1 つの列が datestr 'yyyy-mm-dd' である .dat ファイルを取得しました。列の年は 2000 年から 2010 年までの範囲で、2005 年のみを使用したいと考えています。

同じ形式を維持しながら、np.loadtxt を使用して正常に読み取るにはどうすればよいですか。

次に使用します:

time_string = yyyy-mm-dd
doy = int (time.strftime ("%j", time.strptime ( time_string, "%Y, %m, %d")))

yyyy-mm-dd を年間通算日 (1-365) に変換する

4

2 に答える 2

2

この質問は、loadtxtfromnumpyを使用する理由を示していないため、実際にはデータがどのようにロードされるかは気にしません。とは言っても、この場合は単にdtype=objectそれをロードするために使用します。

これがあなたの.datファイルであると仮定して、それをd1.datと呼びましょう。

1 2000-01-01 blah
2 2005-01-01 bleh
3 2006-02-03 blih
4 2008-03-04 bloh
5 2010-04-05 bluh
6 2005-03-12 blahr

次に(たとえば)次を使用してロードしますnumpy

import numpy
data = numpy.loadtxt('d1.dat', usecols=[1,2], dtype=object)

これで、関数を適用して、データの最初の列から年の日を抽出できます。

for date, _ in data:
    print time.strftime("%j", time.strptime(date, "%Y-%m-%d"))
于 2012-12-31T13:26:19.463 に答える
1
from datetime import datetime
time_string = '2012-12-31'
dt = datetime.strptime(time_string, '%Y-%m-%d')
print dt.timetuple().tm_yday


366
于 2012-12-31T12:27:39.657 に答える