Pandas 如何在DataFrame中更改日期时间格式

Pandas 如何在DataFrame中更改日期时间格式

在本文中,我们将介绍如何在Pandas DataFrame中更改日期时间格式。在数据分析和数据清理过程中,日期时间经常以多种格式出现。如果您的数据包含不同格式的日期时间,那么您可能需要更改它们的格式以便进行进一步的分析和可视化。

阅读更多:Pandas 教程

检查当前日期时间格式

在更改日期时间格式之前,我们需要先检查当前DataFrame中的日期时间格式。我们可以使用Pandas的dtypes函数来检查列的数据类型。例如,以下代码将检查DataFrame dfdate_col列的数据类型:

import pandas as pd

df = pd.read_csv('path/to/your/file.csv')

print(df['date_col'].dtypes)

这将在控制台输出datetime64[ns],表明列的数据类型为日期时间。

更改日期时间格式

在 Pandas 中,我们可以使用to_datetime()来将字符串转换为日期时间格式。以下是一个示例代码,它将一个字符串列转换为日期时间格式,然后将其添加回原始DataFrame中:

df['new_date_col'] = pd.to_datetime(df['date_col'], format='%Y%m%d')
  • to_datetime():将字符串转换为日期时间格式的Pandas函数。
  • df['date_col']:原始 DataFrame 中的日期时间列。
  • format='%Y%m%d':此参数指定日期时间列中的日期格式。在本例中,我们使用“%Y”表示四位数年份,“%m”表示两位数月份,“%d”表示两位数日期。您可以根据需要更改日期时间格式。

还有一些其他的内置格式,您可以在此处找到:https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes

接下来,我们可以使用dtypes函数来检查新的日期时间列的数据类型:

print(df['new_date_col'].dtypes)

这应该输出datetime64[ns],表明新列的数据类型为日期时间。

从日期时间中提取年份、月份和日期

现在,我们已经将日期时间列转换为所需的格式,现在我们可以提取年份、月份和日期,这允许我们在对数据分析时执行更多的操作。

要从日期时间列中提取年份、月份和日期,我们可以使用Pandas的.dt属性。以下是一个示例代码:

# 提取年份
df['year'] = df['new_date_col'].dt.year

# 提取月份
df['month'] = df['new_date_col'].dt.month

# 提取日期
df['day'] = df['new_date_col'].dt.day
  • .dt属性:Pandas用于操作日期时间的属性。
  • year:新列的名称,用于存储提取的年份。
  • month:新列的名称,用于存储提取的月份。
  • day:新列的名称,用于存储提取的日期。

将日期时间转换为字符串

在某些情况下,我们可能需要将日期时间列转换回字符串格式。Pandas提供了.strftime()函数,用于将日期时间格式化为字符串。以下是示例代码:

# 将日期时间格式化为字符串
df['date_str'] = df['new_date_col'].dt.strftime('%m/%d/%Y')
  • .strftime():Pandas函数,用于将日期时间格式化为字符串。
  • %m/%d/%Y:字符串格式,用于将日期时间转换为格式为“月份/日期/年份”的字符串。您可以根据需要更改日期时间格式。

总结

在本指南中,我们讨论了如何在Pandas DataFrame中更改日期时间格式。我们可以使用to_datetime()函数将字符串转换为日期时间格式。然后,我们可以使用.dt属性从日期时间中提取年份、月份和日期。最后,我们可以使用.strftime()函数将日期时间转换回字符串格式。这些技巧对于处理日期时间数据的数据分析和数据清理非常有用。

总之,当您处理复杂的时间序列数据时,掌握Pandas中日期时间格式的转换是非常重要的。通过使用这些技巧,您可以轻松地将不同格式的日期时间转换为所需的格式,并从中提取所需的信息,以进行更深层次的数据分析和可视化。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程