如何根据python中的时间戳索引将行转换为单列?

数据挖掘 Python 熊猫 蟒蛇
2022-03-11 16:01:01

样本输入数据集是:

在此处输入图像描述

我想要的示例输出数据集:

0   2017-11-17 10:23:28.691 788
0   2017-11-17 10:23:28.691 756
0   2017-11-17 10:23:28.691 789
0   2017-11-17 10:23:28.691 780
1   2017-11-17 10:23:29.731 788
1   2017-11-17 10:23:29.731 783
2   2017-11-17 10:23:30.655 747
3   2017-11-17 10:23:31.627 766
4   2017-11-17 10:23:32.606 807

我怎么能通过熊猫做到这一点?还是有任何其他技术可以做到这一点?

1个回答

假设您有以下源 DF:

In [21]: df
Out[21]:
         Time  val1  val2  val3
0  2017-11-17    11    12    13
1  2017-11-18    24    25     0
2  2017-11-19    37     0     0

解决方案:

In [22]: (df.replace(0, np.nan)
            .set_index('Time', append=True)
            .stack()
            .reset_index()
            .rename(columns={0:'val'})
            .drop('level_2',1))
Out[22]:
   level_0        Time   val
0        0  2017-11-17  11.0
1        0  2017-11-17  12.0
2        0  2017-11-17  13.0
3        1  2017-11-18  24.0
4        1  2017-11-18  25.0
5        2  2017-11-19  37.0