ざっと書いてみました。
もう少しスマートに書けそうな気がしてますがとりあえず、やりたいことは実現できてると思います。
具体的にやっている内容は
DataFrame.stack()
する前に 'MM:SS' 形式でcolumn名を設定
stack()
後に MultiInexをDatetime型に変換
となっております。
Python
1import pandas as pd
2import io
3
4data = """
5Date,,,,,,,,,,,,,,,,,,,,,,,,,
62019/1/1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
72019/1/2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
8"""
9
10df = pd.read_csv(io.StringIO(data), index_col='Date')
11df.columns = [f'{i:02d}:00' for i in range(25)]
12df = df.stack()
13df.index = pd.to_datetime(df.index.get_level_values(0) + ' ' + df.index.get_level_values(1))
14print(df)
15#2019-01-01 00:00:00 0.0
16#2019-01-01 01:00:00 0.0
17#2019-01-01 02:00:00 0.0
18#2019-01-01 03:00:00 0.0
19#2019-01-01 04:00:00 0.0
20#2019-01-01 05:00:00 0.0
21#2019-01-01 06:00:00 0.0
22#2019-01-01 07:00:00 0.0
23#2019-01-01 08:00:00 0.0
24#2019-01-01 09:00:00 0.0
25#2019-01-01 10:00:00 0.0
26#2019-01-01 11:00:00 0.0
27#2019-01-01 12:00:00 0.0
28#2019-01-01 13:00:00 0.0
29#2019-01-01 14:00:00 0.0
30#2019-01-01 15:00:00 0.0
31#2019-01-01 16:00:00 0.0
32#2019-01-01 17:00:00 0.0
33#2019-01-01 18:00:00 0.0
34#2019-01-01 19:00:00 0.0
35#2019-01-01 20:00:00 0.0
36#2019-01-01 21:00:00 0.0
37#2019-01-01 22:00:00 0.0
38#2019-01-01 23:00:00 1.0
39#2019-01-02 00:00:00 1.0
40#2019-01-02 01:00:00 0.0
41#2019-01-02 02:00:00 0.0
42#2019-01-02 03:00:00 0.0
43#2019-01-02 04:00:00 0.0
44#2019-01-02 05:00:00 0.0
45#2019-01-02 06:00:00 0.0
46#2019-01-02 07:00:00 0.0
47#2019-01-02 08:00:00 0.0
48#2019-01-02 09:00:00 0.0
49#2019-01-02 10:00:00 0.0
50#2019-01-02 11:00:00 0.0
51#2019-01-02 12:00:00 0.0
52#2019-01-02 13:00:00 0.0
53#2019-01-02 14:00:00 0.0
54#2019-01-02 15:00:00 0.0
55#2019-01-02 16:00:00 0.0
56#2019-01-02 17:00:00 0.0
57#2019-01-02 18:00:00 0.0
58#2019-01-02 19:00:00 0.0
59#2019-01-02 20:00:00 0.0
60#2019-01-02 21:00:00 0.0
61#2019-01-02 22:00:00 0.0
62#2019-01-02 23:00:00 0.0
63#dtype: float64
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/14 05:13 編集
2020/04/14 05:25 編集
2020/04/14 06:03