pandas 从panda的datatime索引中删除日期

wbrvyc0a  于 2023-01-15  发布在  其他
关注(0)|答案(2)|浏览(124)

我想从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']

我怎样才能删除日期并仍然基于时间选择行?谢谢。

ltqd579y

ltqd579y1#

出现TypeError是因为df['Time'] = pd.to_datetime(df['Time']).dt.timedf['Time']转换为datetime.time对象,而在loc语句中,'09:43:00':'13:54:00'是字符串。

df['Time'] = pd.to_datetime(df['Time']).dt.time.astype(str)
tktrz96b

tktrz96b2#

尝试使用df.index = df.index.时间

相关问题