如何在 pandas 中将字符串转换为日期时间


您可以使用以下方法将 pandas DataFrame 中的字符串列转换为日期时间格式:

方法 1:将字符串列转换为日期时间

 df[' col1 '] = pd. to_datetime (df[' col1 '])

方法 2:将多列从字符串转换为日期时间

 df[[' col1 ', ' col2 ']] = df[[' col1 ', ' col2 ']]. apply (pd. to_datetime )

以下示例展示了如何在实践中通过以下 pandas DataFrame 使用这些方法:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' task ': ['A', 'B', 'C', 'D'],
                   ' due_date ': ['4-15-2022', '5-19-2022', '6-14-2022', '10-24-2022'],
                   ' comp_date ': ['4-14-2022', '5-23-2022', '6-24-2022', '10-7-2022']})

#view DataFrame
print (df)

  task due_date comp_date
0 A 2022-04-15 2022-04-14
1 B 2022-05-19 2022-05-23
2 C 2022-06-14 2022-06-24
3 D 2022-10-24 2022-10-07

#view data type of each column
print ( df.dtypes )

task object
due_date object
comp_date object
dtype:object

我们可以看到DataFrame中的每一列当前都有一个对象数据类型,即字符串。

示例 1:将字符串列转换为日期时间

我们可以使用以下语法将due_date列从字符串转换为日期时间:

 #convert due_date column to datetime
df[' due_date '] = pd. to_datetime (df[' due_date '])

#view updated DataFrame
print (df)

  task due_date comp_date
0 A 2022-04-15 4-14-2022
1 B 2022-05-19 5-23-2022
2 C 2022-06-14 6-24-2022
3 D 2022-10-24 10-7-2022

#view data type of each column
print ( df.dtypes )

task object
due_date datetime64[ns]
comp_date object
dtype:object

我们可以看到due_date列已转换为日期时间,而所有其他列保持不变。

示例 2:将多列从字符串转换为日期时间

我们可以使用以下语法将due_datecomp_date列从字符串转换为日期时间:

 #convert due_date and comp_date columns to datetime
df[[' due_date ', ' comp_date ']] = df[[' due_date ', ' comp_date ']]. apply (pd. to_datetime )

#view updated DataFrame
print (df)

  task due_date comp_date
0 A 2022-04-15 2022-04-14
1 B 2022-05-19 2022-05-23
2 C 2022-06-14 2022-06-24
3 D 2022-10-24 2022-10-07

#view data type of each column
print ( df.dtypes )

task object
due_date datetime64[ns]
comp_date datetime64[ns]
dtype:object

我们可以看到due_datecomp_date列都已从字符串转换为日期时间。

注意:您可以在此处找到 pandas to_datetime()函数的完整文档。

其他资源

以下教程解释了如何在 pandas 中执行其他常见操作:

如何在 Pandas 中创建日期范围
如何在 Pandas 中将时间戳转换为日期/时间
如何计算pandas中两个日期之间的差异

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注