首页 > 解决方案 > 如何将 DateTime 多索引恢复为正常的 DateTime 索引?

问题描述

我有两个数据框,它们的索引不同,如下所示;

df1:

                 C1
   Y     M  D
    2020  5  1   5
             2   7
             3   34
             4   4
             5   98

df2

                C1 
    Date
    2020-5-6   2
    2020-5-7   11
    2020-5-8   15
    2020-5-9   3
    2020-5-10  8

由于它们被清理和分组等方式,索引采用不同的格式。我需要将这些数据框合并在一起。

无论如何简单地将多索引转换回单个索引?或者我可以按原样合并它们吗?我似乎无法弄清楚。

非常感谢任何帮助!

数据框 1

数据框 2

标签: pythonpandasdatetimepandas-groupbymulti-index

解决方案


这是另一种比链接问题更清洁的方法:

df.index = pd.to_datetime([f'{y}-{m}-{d}' for y,m,d in df.index],
                          format='%Y-%m')

输出:

            C1
2020-05-01   5
2020-05-02   7
2020-05-03  34
2020-05-04   4
2020-05-05  98

注意:对于 Python 2.7,而不是f'{y}-{m}-{d}', 做

'{}-{}-{}'.format(y,m,d)

推荐阅读