【问题标题】:How to match the format “Sep-14” for converting it to DATETIME如何匹配“Sep-14”格式以将其转换为 DATETIME
【发布时间】:2018-10-14 03:48:06
【问题描述】:

我正在尝试按年份转换“issue_d”列。

以下是我使用的代码,但它给了我错误

dt_series = pd.to_datetime(df['issue_d'], format= '%m-%Y')
df['year'] = dt_series.dt.year

这是错误信息

ValueError: time data 'Sep-14' does not match format '%m-%Y' (match)

【问题讨论】:

  • df['issue_i'] 数据是什么样的?

标签: python python-3.x pandas datetime dataframe


【解决方案1】:

查看错误,我很确定df['issue_d] = 'Sep-14'。这意味着您使用了错误的格式字符串。您指定的格式字符串期望月份为数字和全年(4 位),即'09-2014'

您想要的格式字符串是'%b-%y',它将您的语言环境中的月份缩写名称和两位数字的年份(从 2000 年开始)。因此,您的行应该看起来像

dt_series = pd.to_datetime(df['issue_d'], format= '%b-%y')

可以在 Python datetime 文档中找到不同的格式,找到 here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-17
    • 1970-01-01
    • 2016-09-08
    • 2020-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多