【发布时间】:2020-07-24 13:29:55
【问题描述】:
我的数据框如下所示:
Date Region Data
0 200201 A 8.8
1 200201 B 14.3
...
1545 202005 C 7.3
1546 202005 D 131
我想在没有时间的情况下将日期列(数据类型:对象)转换为 DateTime 索引。 yyyymm 或 yyyymmdd 或 yyyy-mm-dd 所有这些都无所谓,只要我可以擦除时间部分。
我已经搜索了 stackoverflow 并尝试了这些代码
# (1)
df["Date"] = pd.to_datetime(df["Date"], format = "%Y%m", errors = "coerce", uts = False)
# (2)
df["Date"] = pd.to_datetime(df["Date"], format = "%Y%m")
df["Date"] = df["Date"].dt.normalize()
# (3)
df["Date"] = pd.to_datetime(df["Date"], format = "%Y%m")
df["Date"] = df["Date"].dt.date
对于 (1) 和 (2),我得到 ["Date"] 的时间像 yyyy-mm-dd 00:00:00。
对于 (3),我确实将 ["Date"] 设为 yyyymm,但 dtype 是对象。
我无法使用日期范围,因为同一日期重复了一段时间。
有没有办法在python中将yyyymm[object]转换为yyyymmdd[datetime]?
提前致谢。
【问题讨论】:
-
欢迎来到 SO!如果您将程序的输出作为文本插入问题而不是链接屏幕截图,通常会更好。欲了解更多信息,请查看how to ask page.
-
在我的系统中,命令运行正常
-
@a.deshpande012 好的,感谢您的提示!
-
@bigbounty 我认为我的 spyder 程序有问题。谢谢!