【问题标题】:Convert object to datetime, then split into 2 columns for removing duplicates [duplicate]将对象转换为日期时间,然后拆分为 2 列以删除重复项 [重复]
【发布时间】:2021-07-26 16:39:30
【问题描述】:

我在将日期对象转换为日期时间时遇到了困难。

我在 df 中的日期和时间对象如下所示:

Date
2/28/20 18:00

我这样做是为了将其转换为日期时间格式;

from datetime import datetime
df['Date'] = pd.to_datetime(df['Date'], format='%m/%d/%y %H:%M)

我认为这在我执行 dtypes 时会起作用,我得到的是 datetime 格式的 Date 列。这是运行上述内容后日期列的反映方式:

Date
2020-02-28 18:00:00

但是转换为日期时间后,我想将日期时间列拆分为“日期”和“时间”,数据显示如下:

Date           Time
2020-02-28     18:00   

我试图运行这个:

df['Date'] = df['Date'].dt.strftime('%Y-%m-%d')
df['Time'] = df['Date'].dt.strftime('%H:%M')

但我得到'AttributeError: Can only use .dt accessor with datetimelike values'

在将数据拆分为 2 列(日期和时间)后,我想要实现的主要目标是,然后我可以删除重复项并仅保留数据框中每个日期的最后一次计时。

任何建议表示赞赏,在此先感谢。

【问题讨论】:

    标签: python pandas dataframe datetime duplicates


    【解决方案1】:

    问题是在接下来的df['Date'].dtdf['Date']已经转换成字符串了。您需要交换分配顺序。

    df['Time'] = df['Date'].dt.strftime('%H:%M')
    df['Date'] = df['Date'].dt.strftime('%Y-%m-%d')
    

    【讨论】:

      猜你喜欢
      • 2019-12-29
      • 2016-06-03
      • 1970-01-01
      • 1970-01-01
      • 2020-11-02
      • 2012-12-09
      • 2016-09-24
      • 2011-09-05
      • 2020-07-06
      相关资源
      最近更新 更多