熊猫数据框将MultiIndex转换为单个datetimeindex

时间:2020-10-08 16:33:40

标签: python pandas

我有一个带有以下MultiIndex的数据框,我需要用单个索引(称为“日期”)替换该索引,该索引应同时包括日期和小时/分钟。

当前我正在使用df.reset_index(level = [0,1])

我认为我现在需要根据生成的“日期”(datetime64)和“分钟”(例如09:30)重新创建索引。

将日期时间对象转换为字符串,然后使用to_datetime()是最简单的方法吗?

df.index
MultiIndex([('2020-10-08', '09:30'),
            ('2020-10-08', '09:31'),
            ('2020-10-08', '09:32'),
            ('2020-10-08', '09:33'),
            ('2020-10-08', '09:34'),
            ('2020-10-08', '09:35'),

1 个答案:

答案 0 :(得分:1)

重置索引为您提供了“正常”索引,但您需要一个DatetimeIndex。只需在重置后将其转换:

ArrayList<String> names = new ArrayList<>();
    
for(int i = 0; i < 10; i++) {
   names.add("Name " + i);
}
    
Iterator<String> it = names.iterator();
while(it.hasNext() && it.next().contains("Name 5")) {
    System.out.println("Found my desired name.");
}

它甚至可能足够聪明,可以直接应用于multiIndex ... df.index = pd.to_datetime(df.index) 相当聪明。