python - 将字符串转换为日期时间 - python 数据框

标签 python datetime

您好,我想将数据框列(字符串)转换为日期。我发现它正确转换了一些日期,但其中一些是错误的。

df
  Id       Date     Rev
1605380 1/12/2018   3000.0
2237851 27/11/2018  3000.0
1797180 11/2/2018   2000.0
1156126 9/1/2018    2000.0
1205792 8/4/2017    2000.0

df['Date'] = pd.to_datetime(df['Date'])

我得到的结果

 Id       Date      Rev
1605380 2018-01-12  3000.0
2237851 2018-11-27  3000.0
1797180 2018-11-02  2000.0
1156126 2018-09-01  2000.0
1205792 2017-08-04  2000.0

似乎如果“日”不是两位数,datetime 将其转换为“月”而不是“日”。因此,1/12/2018 应该是 2018-12-01,而不是 2018-01-12。 我该如何解决这个问题?

实际上我只需要输出年和月。

理想输出

  Id       Date     Rev
1605380 2018-12    3000.0
2237851 2018-11    3000.0
1797180 2018-02    2000.0
1156126 2018-01    2000.0
1205792 2017-04    2000.0

最佳答案

您只需将 format 参数指定给 '%d/%m/%Y' 即可明确告知注释的日期格式。或者将 dayfirst 设置为 True。日期时间对象实际上包含年、月、日和时间的信息,因此要仅显示月和年,您必须转换回字符串:

df['Date'] = pd.to_datetime(df['Date'], dayfirst=True).dt.strftime('%Y-%m')

关于python - 将字符串转换为日期时间 - python 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54247676/

相关文章:

python - 如何监控文件夹并在打开时执行操作? (例如 : Python watchdog)

python - 列表和+=操作

python - 在经过证书身份验证的资源上使用 python 请求下载列表文件

c# - 将 MMDDYYYY 转换为 01-JAN-YY

java - 将日期转换为字符串时出错

php - 如何在 PHP 中减去两个日期并在没有交互的情况下发送自动电子邮件

javascript - 如何禁用 ion-datetime 中的特定日期?

javascript - jQuery DateTimePicker 添加 5 分钟到当前日期

python - 嵌套字典中的求和值

python - PyQt5 : start, 停止并暂停带有进度更新的线程