如何从python中的日期时间系列中删除年-月-日?

Ric*_*cky 4 python datetime pandas

我有一个日期时间系列,我只想在系列中保留“Hour-Miniute-Second”字符串,并删除 Year-Month-Date 字符串。所以我该怎么做?

原系列:

0         2000-12-31 22:12:40
1         2000-12-31 22:35:09
2         2000-12-31 22:32:48
3         2000-12-31 22:04:35
4         2001-01-06 23:38:11
5         2000-12-31 22:37:48
……
Run Code Online (Sandbox Code Playgroud)

目标:

0          22:12:40
1          22:35:09
2          22:32:48
3          22:04:35
4          23:38:11
5          22:37:48
……
Run Code Online (Sandbox Code Playgroud)

以前,原始系列已经使用pandas.to_datetime(). 但我无法使用这种方法来达到我的目标:(

任何建议表示赞赏!

jez*_*ael 5

使用dt.strftime

#if necessary convert to datetime
#df['date'] = pd.to_datetime(df['date'])

print (df.dtypes)
date    datetime64[ns]
dtype: object

df['time'] = df['date'].dt.strftime('%H:%M:%S')
print (df)
                 date      time
0 2000-12-31 22:12:40  22:12:40
1 2000-12-31 22:35:09  22:35:09
2 2000-12-31 22:32:48  22:32:48
3 2000-12-31 22:04:35  22:04:35
4 2001-01-06 23:38:11  23:38:11
5 2000-12-31 22:37:48  22:37:48
Run Code Online (Sandbox Code Playgroud)

或强制转换为stringsplit并选择listsby 的第二个值str[1]

#if dtype of date column is object (obviously string), omit astype
df['time'] = df['date'].astype(str).str.split().str[1]
print (df)
                 date      time
0 2000-12-31 22:12:40  22:12:40
1 2000-12-31 22:35:09  22:35:09
2 2000-12-31 22:32:48  22:32:48
3 2000-12-31 22:04:35  22:04:35
4 2001-01-06 23:38:11  23:38:11
5 2000-12-31 22:37:48  22:37:48
Run Code Online (Sandbox Code Playgroud)