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(). 但我无法使用这种方法来达到我的目标:(
任何建议表示赞赏!
使用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)
或强制转换为string,split并选择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)