我正在尝试将Pandas数据框中的索引转换为datetime对象,以便我可以选择时间范围。
假设my_df
是我正在使用的数据框,我有以下内容:
# Conversion function:
def convert_times(x): return datetime.strptime(x, '%H:%M:%S.%f')
# Convert every index value in my dataframe
my_df.index = map(convert_times, my_df.index)
但我注意到了
map(convert_times, my_df.index)
返回一个列表,因此上面的代码将索引转换为列表,并将其转换回索引。
有没有办法直接在索引对象上操作?
答案 0 :(得分:3)
我会直接使用to_datetime
:
datetime_format = '%H:%M:%S.%f' # tweak depending on format of dates
df.index = pd.to_datetime(df.index, format=format_datetime)
这比使用map(尤其是python的内置地图)快 。
注意:to_datetime
不需要格式参数。