我有一个日期为格式的字符列10/17/2017 12:00:00 AM.我想只保留日期部分即2017-10-17.我在用 -
df$ReportDate = as.Date(df$ReportDate, format = "%m/%d/%Y %I:%M:%S %p")
df$ReportDate = as.Date(format(df$ReportDate, "%Y-%m-%d"))
Run Code Online (Sandbox Code Playgroud)
这是有效的,但数据框有超过500万行,所以这需要接近两分钟.
user system elapsed
104.73 0.55 105.46
Run Code Online (Sandbox Code Playgroud)
有没有更快,更有效的方法来做到这一点?
G. *_*eck 10
请注意,as.Date该日期之后将忽略垃圾,因此在我使用的不是特别快的笔记本电脑上,此过程不到10秒:
xx <- rep("10/17/2017 12:00:00 AM", 5000000) # test input
system.time(as.Date(xx, "%m/%d/%Y"))
## user system elapsed
## 9.57 0.20 9.82
Run Code Online (Sandbox Code Playgroud)