Pandas: 如何将日期时间转换为 %H:%H 并保持日期时间格式?

Pandas: How to convert datetime convert to %H:%H and stays as datetime format?

我在 1 列中有一个包含所有不同时间的数据框。

Time
-----
10:00
11:30
12:30
14:10
...

我需要使用以下代码在此数据帧上执行分位数范围:

df.quantile([0,0.5,1],numeric_only=False)

在下面的 link 之后,分位数确实有效。 https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.quantile.html

作为对象中的列,我需要转换为pd.datetime 或pd.Timestamp。 当我转换为 pd.datetime 时,我的所有时间也会插入日期。 如果我将其格式化为 %H:%M,该列将返回到无法在 numeric_only 模式下使用分位数的对象。

如何转换为 %H:%M 中的日期时间格式并仍然坚持日期时间格式?

下面是我使用的代码:

df = pd.DataFrame({"Time":["10:10","09:10","12:00","13:23","15:23","17:00","17:30"]})
df['Time2'] = pd.to_datetime(df['Time']).dt.strftime('%H:%M')
df['Time2'] = df['Time2'].astype('datetime64[ns]')

How can I convert to datetime format in %H:%M and still stick to datetime format?

在 pandas 中不可能,也许更接近于使用 timedeltas:

df = pd.DataFrame({"Time":["10:10","09:10","12:00","13:23","15:23","17:00","17:30"]})
df['Time2'] = pd.to_timedelta(df['Time'].add(':00'))
print (df)
    Time    Time2
0  10:10 10:10:00
1  09:10 09:10:00
2  12:00 12:00:00
3  13:23 13:23:00
4  15:23 15:23:00
5  17:00 17:00:00
6  17:30 17:30:00