Tôi không chắc chắn lý do tại sao bạn sẽ muốn làm điều này ở nơi đầu tiên, nhưng nếu bạn thực sự phải ...
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
Việc chuyển đổi sang CST khó khăn hơn. Tôi cho rằng các dấu thời gian hiện tại là 'không biết', tức là chúng không có múi giờ kèm theo? Nếu không, làm thế nào bạn mong đợi để chuyển đổi chúng?
Để biết thêm chi tiết:
https://docs.python.org/2/library/datetime.html
How to make an unaware datetime timezone aware in python
EDIT
Một phương pháp thay thế mà chỉ vòng một lần trên timestamps thay vì hai lần:
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)
Làm thế nào về ''2016-02-22 14: 59: 44.561776'.split()'? –
Tại sao bạn muốn làm điều đó?!? – Alexander