4

辞書で特定の日に発生した測定値がいくつかあります。のように見えます

date_dictionary['YYYY-MM-DD'] = measurement.

特定の日付から 7 日以内の測定値間の分散を計算したいと考えています。日付文字列を に変換するdatetime.datetimeと、結果はタプルまたは配列のように見えますが、そのようには動作しません。

特定の日付から 1 週間のすべての日付を生成する簡単な方法はありますか? もしそうなら、どうすれば効率的にそれを行うことができますか?

4

2 に答える 2

4

datetime を使用して、指定された日付を含む、指定された日付に続く 7 つの日付すべてを生成するには、次のようにします。

import datetime
dt = datetime.datetime(...)
week_dates = [ dt + datetime.timedelta(days=i) for i in range(7) ]

日時/日付操作を実行するためのより優れた API を提供するライブラリがありますが、最も注目すべきはpandas(それにはさらに多くのものが含まれています)。pandas.date_rangeを参照してください。

于 2015-07-22T05:01:39.410 に答える
3

- を使用してこれを行うことができますtimedelta。例 -

>>> from datetime import datetime,timedelta
>>> d = datetime.strptime('2015-07-22','%Y-%m-%d')
>>> for i in range(1,8):
...     print(d + timedelta(days=i))
...
2015-07-23 00:00:00
2015-07-24 00:00:00
2015-07-25 00:00:00
2015-07-26 00:00:00
2015-07-27 00:00:00
2015-07-28 00:00:00
2015-07-29 00:00:00

実際に表示する必要はありません。datetimeオブジェクト +timedeltaオブジェクトはオブジェクトを返しdatetimeます。返されたdatetimeオブジェクトを計算で直接使用できます。

于 2015-07-22T05:00:16.133 に答える