0

Python で datetime オブジェクトのリストがあり、時間ごとに集計したいと考えています。たとえば、日時オブジェクトがある場合

[03/01/2012 00:12:12,
 03/01/2012 00:55:12,
 03/01/2012 01:12:12,
 ...]

1 時間ごとの datetime オブジェクトのリストと、そのバケットに分類される datetime オブジェクトの数を取得したいと考えています。[03/01/2012 00:00:00, 03/01/2012 01:00:00]上記の例では、あるリストに を出力し、別のリストにエントリの数を出力したいと思います : [2,1]

4

2 に答える 2

3

キーが時間で、値が日時オブジェクトのリストであるディクショナリを使用して、その種のデータを効率的に格納できます。例 (未テスト):

l = [datetime.datetime.now(), datetime.datetime.now()] #...etc.
hour_quantization = {}
for dt in l:
    if dt.hour not in hour_quantization:
        hour_quantization[dt.hour] = [dt]
    else:
        hour_quantization[dt.hour].append(dt)

counts = [len(hour_quantization[hour]) for hour in hour_quantization.keys()]

datetimeのドキュメント エントリを参照してください

于 2012-12-01T19:53:11.010 に答える
1

datetime オブジェクトのリストがあると仮定すると、各時間の数を数えることができます。

from collections import Counter
hours = [t.hour for t in ts]
Counter(hours)

これにより、次のことが得られます。

Counter({0: 2, 1: 1})
于 2012-12-01T19:57:48.823 に答える