假设我有类似这样的DatetimeIndex:ed数据(当然会有几天):

                             X      Y       Z
timestamp
2013-01-02 10:00:13.295000   366    -8242   -1820
2013-01-02 10:00:13.329000   366    -8016   -1820
2013-01-02 10:00:13.352000   32     -8016   -1820
2013-01-02 10:00:13.882000   32     -9250   -1820
2013-01-02 10:00:15.076000  -302    -9250   -1820

我想要这样的MultiIndexed:
                                 X      Y       Z
Date           Time
2013-01-02     10:00:13.295000   366    -8242   -1820
               10:00:13.329000   366    -8016   -1820
               10:00:13.352000   32     -8016   -1820
               10:00:13.882000   32     -9250   -1820
               10:00:15.076000  -302    -9250   -1820

我知道您可以(可能)提取DatetimeIndex,将其与.date()和.time()分成两列,并将其设置为Dataframe的新索引,但是还有一种更“泛泛”的方法? 在我看来,这种功能会派上用场...

最佳答案

我能想到的最好方法是

In [13]: df.index = pd.MultiIndex.from_arrays([df.index.date, df.index.time], names=['Date','Time'])

In [14]: df
Out[14]:
                              X     Y     Z
Date       Time
2013-01-02 10:00:13.295000  366 -8242 -1820
           10:00:13.329000  366 -8016 -1820
           10:00:13.352000   32 -8016 -1820
           10:00:13.882000   32 -9250 -1820
           10:00:15.076000 -302 -9250 -1820

[5 rows x 3 columns]

关于python - 在 Pandas 中方便地将DatetimeIndex拆分为日期和时间MultiIndex,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23549975/

10-12 21:12