【问题标题】:How to keep date format when using pandasql?使用 pandasql 时如何保持日期格式?
【发布时间】:2019-10-23 15:05:04
【问题描述】:

为了连接两个数据帧 df_A 和 df_B,其中 df_A 的日期应该位于数据帧 df_B 的日期范围之间,我正在使用 pandasql。但是我注意到 pandasql 没有像原始数据框中那样返回正确的日期(datetime64),而是返回一个字符串(对象)。有没有一种简单的方法可以解决这个问题,或者我每次执行查询时都必须将字符串应用到日期转换?

import pandasql as ps
sql = """select invoice_date from df_A"""
ps.sqldf(sql, locals())

我希望此输出与 df_A.loc[:,'invoice_date'] 相同

作为一个例子,这给了我 '2018-01-02 00:00:00.000000'(作为字符串)而不是 '2018-01-02'(作为日期)

【问题讨论】:

  • 这是 SQLite 吗?

标签: python sql pandasql


【解决方案1】:

您可以将对象数据类型转换为日期时间

df_A['invoice_date'] = pd.to_datetime(df_A['invoice_date'])

这会将数据框更改为预期的输出

【讨论】:

    猜你喜欢
    • 2015-02-26
    • 1970-01-01
    • 1970-01-01
    • 2016-03-11
    • 2015-09-20
    • 1970-01-01
    • 2020-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多