我有一个带有以下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'),
答案 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)
相当聪明。