python – 将一列的值分成两列

我有一个数据框,其列为“last_updated”,类型为datetime64 [ns]:

df = pd.DataFrame({'last_updated': ['11/12/14 2:44 PM','5/18/15 11:36 AM','11/12/14 
3:09 PM']})

我想在这一列中创建两列 – “last_updated_date”和“last_updated_time”.此外,时间应为24小时格式.

如何使用pandas完成此任务?

最佳答案 您可以将日期时间列转换为字符串(日期和时间部分),然后将它们转换为24小时格式,如下所示:

new_cols = ['last_updated_date', 'last_updated_time']
df[new_cols] = pd.to_datetime(df['last_updated'], format='%m/%d/%y %I:%M %p')   \
                 .astype(str).str.split(expand=True)

df

《python – 将一列的值分成两列》

这将保留将值导出为ex​​cel时的值.

点赞