こんな感じでしょうか。
python
1import io
2import pandas as pd
3
4# ただの読み込み処理
5data = """
62018-05-28 18:01:00 100 200
72018-05-28 18:05:00 100 200
82018-05-28 19:08:00 100 200
92018-05-28 19:01:00 100 200
102018-05-29 18:01:00 100 200
112018-05-29 18:05:00 100 200
122018-05-29 19:08:00 100 200
132018-05-29 19:01:00 100 200
14"""
15df = pd.read_table(io.StringIO(data), header=None, index_col=0)
16df.index = pd.to_datetime(df.index)
17
18# 回答
19print(df.groupby(lambda x:x.hour).sum())
20""" =>
21 1 2
2218 400 800
2319 400 800
24"""
これだとindexがintなのが微妙といえば微妙かも・・・
参考:
pandas.DataFrame.groupby — pandas 0.23.0 documentation
追記
とりあえずdatetime.timeにしてみました。
python
1import io
2import datetime
3import pandas as pd
4
5# ただの読み込み処理
6data = """
72018-05-28 18:01:00 100 200
82018-05-28 18:05:00 100 200
92018-05-28 19:08:00 100 200
102018-05-28 19:01:00 100 200
112018-05-29 18:01:00 100 200
122018-05-29 18:05:00 100 200
132018-05-29 19:08:00 100 200
142018-05-29 19:01:00 100 200
15"""
16df = pd.read_table(io.StringIO(data), header=None, index_col=0)
17df.index = pd.to_datetime(df.index)
18
19# 回答
20print(df.groupby(lambda x:datetime.time(hour=x.hour)).sum())
21""" =>
22 1 2
2318:00:00 400 800
2419:00:00 400 800
25"""
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/07 15:53