我有以下数据帧,其中索引是时间戳:
Date Time
2018-11-21 09:50:00-08:00 NaN NaN
2018-11-21 08:28:00-08:00 NaN NaN
2018-11-21 06:34:00-08:00 NaN NaN
2018-11-21 04:44:00-08:00 NaN NaN
2018-11-21 04:37:00-08:00 NaN NaN
如何用时间戳记提供的值填充日期和时间列?所以我可以得到这个:
Date Time
2018-11-21 09:50:00-08:00 2018-11-21 09:50 AM
2018-11-21 08:28:00-08:00 2018-11-21 08:28 AM
2018-11-21 06:34:00-08:00 2018-11-21 06:34 AM
2018-11-21 04:44:00-08:00 2018-11-21 04:44 AM
2018-11-21 04:37:00-08:00 2018-11-21 04:37 AM
在此先感谢您的帮助或建议。...乔斯
答案 0 :(得分:1)
您可以从开始到第一次提取日期字符串,将其转换为日期时间,并使用date
和time
访问器,以及正确的格式化程序:
x = pd.to_datetime(df.index.str.extract('(.*\d{2}:\d{2}:\d{2})'))
df['Date'] = x.date
df['Time'] = x.strftime('%I:%M %p')
>>> df
Date Time
2018-11-21 09:50:00-08:00 2018-11-21 09:50 AM
2018-11-21 08:28:00-08:00 2018-11-21 08:28 AM
2018-11-21 06:34:00-08:00 2018-11-21 06:34 AM
2018-11-21 04:44:00-08:00 2018-11-21 04:44 AM
2018-11-21 04:37:00-08:00 2018-11-21 04:37 AM