Pandas 入门:使用 `dt.year`、`dt.month`、`dt.day`、`dt.hour`、`dt.minute` 和 `dt.second` 函数抽取 DataFrame 日期数据列对应的年月日时分秒

作者:问答酱2024.01.17 13:22浏览量:30

简介:本文将介绍如何使用 Pandas 的 `dt` 模块中的函数,从 DataFrame 中的日期时间列中提取年、月、日、时、分和秒信息。

千帆应用开发平台“智能体Pro”全新上线 限时免费体验

面向慢思考场景,支持低代码配置的方式创建“智能体Pro”应用

立即体验

在 Pandas 中,我们可以使用 dt 模块中的函数来操作日期和时间数据。对于日期时间列,我们可以使用 dt.yeardt.monthdt.daydt.hourdt.minutedt.second 函数来分别提取对应的年月日时分秒信息。
首先,我们需要导入 Pandas 库并创建一个包含日期时间列的 DataFrame。例如,我们可以创建一个包含当前日期的 DataFrame:

  1. import pandas as pd
  2. from datetime import datetime
  3. # 创建一个包含当前日期的 DataFrame
  4. df = pd.DataFrame({
  5. 'date': [datetime.now() for _ in range(5)]
  6. })
  7. print(df)

接下来,我们可以使用 dt 模块中的函数来提取日期时间列中的年月日时分秒信息。例如,我们可以使用 dt.year 函数提取年份信息:

  1. # 提取年份信息
  2. df['year'] = df['date'].dt.year
  3. print(df)

类似地,我们可以使用 dt.monthdt.daydt.hourdt.minutedt.second 函数分别提取月份、日期、小时、分钟和秒信息:

  1. # 提取月份信息
  2. df['month'] = df['date'].dt.month
  3. # 提取日期信息
  4. df['day'] = df['date'].dt.day
  5. # 提取小时信息
  6. df['hour'] = df['date'].dt.hour
  7. # 提取分钟信息
  8. df['minute'] = df['date'].dt.minute
  9. # 提取秒信息
  10. df['second'] = df['date'].dt.second
  11. print(df)

最后,我们可以将提取的年月日时分秒信息合并为一个新的列,以方便查看:

  1. # 将年月日时分秒信息合并为一个新的列
  2. df['date_parts'] = df['year'] + '-' + df['month'].astype(str).str.zfill(2) + '-' + df['day'].astype(str).str.zfill(2) + ' ' + df['hour'].astype(str).str.zfill(2) + ':' + df['minute'].astype(str).str.zfill(2) + ':' + df['second'].astype(str).str.zfill(2)
  3. print(df)

这样,我们就可以使用 Pandas 的 dt 模块中的函数从日期时间列中提取年月日时分秒信息,并将它们合并为一个新的列进行查看。这种方法在处理日期时间数据时非常有用,可以帮助我们更好地理解数据的结构和特征。

article bottom image

相关文章推荐

发表评论