将所有数据框列连接到一个列中

fil*_*ppo 2 python datetime concatenation time-series pandas

我有一个大致类似的数据框:

        01/01/19 02/01/19 03/01/19 04/01/19
hour                                                                           
1.0     27.08    47.73    54.24    10.0 
2.0     26.06    49.53    46.09    22.0
...
24.0    12.0     34.0     22.0     40.0
Run Code Online (Sandbox Code Playgroud)

我想通过连接所有列的适当日期索引将其尺寸减小为一列。有没有聪明的大熊猫可以做到这一点?

预期结果...类似:

01/01/19 00:00:00   27.08
01/01/19 01:00:00   26.08
...
01/01/19 23:00:00   12.00
02/01/19 00:00:00   47.73
02/01/19 01:00:00   49.53
...
02/01/19 23:00:00   34.00
...
Run Code Online (Sandbox Code Playgroud)

cs9*_*s95 6

您可以使用pd.to_datetime和堆叠然后固定索引pd.to_timedelta

u = df.stack()  
u.index = (pd.to_datetime(u.index.get_level_values(1), dayfirst=True) 
         + pd.to_timedelta(u.index.get_level_values(0) - 1, unit='h'))

u.sort_index()

2019-01-01 00:00:00    27.08
2019-01-01 01:00:00    26.06
2019-01-01 23:00:00    12.00
2019-01-02 00:00:00    47.73
2019-01-02 01:00:00    49.53
2019-01-02 23:00:00    34.00
2019-01-03 00:00:00    54.24
2019-01-03 01:00:00    46.09
2019-01-03 23:00:00    22.00
2019-01-04 00:00:00    10.00
2019-01-04 01:00:00    22.00
2019-01-04 23:00:00    40.00
dtype: float64
Run Code Online (Sandbox Code Playgroud)