【问题标题】:Changing date format in csv using pandas使用 pandas 更改 csv 中的日期格式
【发布时间】:2020-01-19 10:41:49
【问题描述】:

我有一个为期 4 年的 1 分钟时间范围内的股票市场数据集。一行352000。日期格式如下格式

date        time
20130401    9:16
20130401    9:17
20130401    9:18
.
.
20130401    15:29
20130401    15:30
.
.
20160930    15:30

我需要将其转换为 2013/04/01。我用了这个方法:-

df['date'] = pd.to_datetime('20130401', format='%Y%m%d')

但是行中的所有日期格式都返回 20130401。日期格式不会改变参数。请帮忙

【问题讨论】:

  • 欢迎来到 StackOverflow。 SO 不是代码编写服务。请提供您尝试过的方法以及遇到的具体问题。

标签: python pandas csv


【解决方案1】:

你可以试试这个:

 df['date'] = df['date'].astype('datetime64[ns]')

目前还不清楚您的日期是什么数据类型。这仅在您的日期当前是字符串时才有效。如果不是字符串,可以通过以下方式更改:

df['date'] = df['date'].astype(str) # convert to string

【讨论】:

    【解决方案2】:

    您可以使用strftimedatetime 转换为您想要的格式。

    一个班轮解决方案

    如果日期列类型为string

    df['date'] = pd.to_datetime(df['date']).dt.strftime('%m/%d/%Y')
    

    如果日期列类型为datetime64[ns]

    df['date'] = df['date'].dt.strftime('%m/%d/%Y')
    

    我建议你阅读official docs

    【讨论】:

    • 它实际上帮助我改变了格式。但问题是日期不会改变对论点的尊重。如果参数是 20150731,它仍然是 04/01/2013。
    • @Khishor KS 请在问题中写下您的代码段。并提及您在哪里遇到问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-22
    • 1970-01-01
    • 2020-04-16
    • 2015-07-19
    • 2018-03-21
    • 2020-07-20
    相关资源
    最近更新 更多