Pandas 如何在DataFrame中更改日期时间格式
在本文中,我们将介绍如何在Pandas DataFrame中更改日期时间格式。在数据分析和数据清理过程中,日期时间经常以多种格式出现。如果您的数据包含不同格式的日期时间,那么您可能需要更改它们的格式以便进行进一步的分析和可视化。
阅读更多:Pandas 教程
检查当前日期时间格式
在更改日期时间格式之前,我们需要先检查当前DataFrame中的日期时间格式。我们可以使用Pandas的dtypes
函数来检查列的数据类型。例如,以下代码将检查DataFrame df
的date_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中日期时间格式的转换是非常重要的。通过使用这些技巧,您可以轻松地将不同格式的日期时间转换为所需的格式,并从中提取所需的信息,以进行更深层次的数据分析和可视化。