【发布时间】:2023-01-12 01:15:34
【问题描述】:
我想从 pandas 的 datetime 函数中删除日期,下面的代码工作得很好。
df= pd.read_csv('data.csv')
df['Value']= df.Value.astype(float)
df['Time'] = pd.to_datetime(df['Time']).dt.time
df.set_index('Time',inplace=True)
但是在那之后,当我尝试使用 .loc 函数根据时间选择行时,它给了我以下错误。
df_to_plot = df.loc['09:43:00':'13:54:00']
TypeError: '<' not supported between instances of 'datetime.time' and 'str'
但是相同的代码在没有 .dt.time 的情况下也能正常工作,如下所示:
df= pd.read_csv('data.csv')
df['Value']= df.Value.astype(float)
df['Time'] = pd.to_datetime(df['Time'])
df.set_index('Time',inplace=True)
df_to_plot = df.loc['2022-07-28 09:43':'2022-07-28 13:54']
如何删除日期并仍然根据时间选择行? 谢谢你。
【问题讨论】:
-
您可以考虑使用
dt.strftime("%H:%M:%S")而不是dt.time将时间值存储为字符串而不是datetime.time
标签: python pandas datetime indexing pandas-loc