首页 > 解决方案 > Pandas:如何在具有现有字符串数据列的数据框中创建两个新列

问题描述

我的数据框中有一个列日期(每行的字符串类型),如下所示:

1      'Sat, 26 Dec 2020 14:05:59 +0000'
2      'Sat, 26 Dec 2020 11:01:27 +0000'
3      'Sat, 26 Dec 2020 12:43:59 +0000'
4      'Sat, 26 Dec 2020 13:24:45 +0000'
5      'Sat, 26 Dec 2020 13:37:00 -0000'

我想创建两个这样的新列:

Date                Hour
'Sat, 26 Dec 2020'   '14:05:59'
'Sat, 26 Dec 2020'   '11:01:27'

我怎样才能做到这一点 ?知道一开始的类型是字符串。我考虑过使用 len 进行剪切,因为开头的每一行的格式总是相同的。但也许这不是最好的方法。

标签: pythonpandasdatetime

解决方案


假设您的原始列名是datetime您可以执行以下操作:

df['date']=pd.to_datetime(df['datetime']).dt.strftime('%a, %d %b %Y')
df['time']=pd.to_datetime(df['datetime']).dt.strftime('%H:%M:%S')

推荐阅读