Я не уверен, почему вы хотели бы сделать это в первую очередь, но если вы действительно необходимо ...
df = pd.DataFrame({'my_timestamp': pd.date_range('2016-1-1 15:00', periods=5)})
>>> df
my_timestamp
0 2016-01-01 15:00:00
1 2016-01-02 15:00:00
2 2016-01-03 15:00:00
3 2016-01-04 15:00:00
4 2016-01-05 15:00:00
df['new_date'] = [d.date() for d in df['my_timestamp']]
df['new_time'] = [d.time() for d in df['my_timestamp']]
>>> df
my_timestamp new_date new_time
0 2016-01-01 15:00:00 2016-01-01 15:00:00
1 2016-01-02 15:00:00 2016-01-02 15:00:00
2 2016-01-03 15:00:00 2016-01-03 15:00:00
3 2016-01-04 15:00:00 2016-01-04 15:00:00
4 2016-01-05 15:00:00 2016-01-05 15:00:00
Конверсия в КНТ более сложна. Я предполагаю, что текущие временные метки «не знают», т. Е. У них нет привязки к часовому поясу? Если нет, как бы вы ожидали их преобразования?
Для получения более подробной информации:
https://docs.python.org/2/library/datetime.html
How to make an unaware datetime timezone aware in python
РЕДАКТИРОВАТЬ
Альтернативный метод, который только петли, как только через временные метки вместо дважды:
new_dates, new_times = zip(*[(d.date(), d.time()) for d in df['my_timestamp']])
df = df.assign(new_date=new_dates, new_time=new_times)
Как насчет ''2016-02-22 14: 59: 44.561776'.split()'? –
Почему бы вам это сделать?!? – Alexander