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 - 什么决定了 Pandas 的最小和最大时间戳?

Java 在 ubuntu 10.04 上的 log4j 中使用错误的时间/日期

python - 我可以在python中命名变量 "now"吗

python - Pandas to_datetime 在非美国日期上的行为不一致

javascript - 是否可以通过Python将JavaScript代码放入JS文件中?

python - 噪声二维阵列中的峰值检测

python - 使用关于文件名的正则表达式从目录中删除某些文件

python - Python While循环无法正常工作

php - 在表单上显示上次登录日期为 dd/mm/yyyy 或 2014 年 2 月 12 日

Python如何执行txt文件中的代码