我有一个两百万的时间戳数据。我试图找到 YYYY-MM-DD 格式的第一个和最后一个日期,以便我可以在保存文件名时使用它们。但是,我发现 np.unique(df.index) 的速度很快(10秒),而且产生的日期是 datetime.date(2022, 6, 7) 的格式。 替换代码2】的格式,但 df.index.strftime('%Y-%m-%d').unique() 可以提供我想要的输出,但它需要5分钟以上,这很糟糕。 所以,我决定使用前一种方法。

So, How do I convert something like datetime.date(2022, 6, 7) to '2022-06-07' ?

2 个评论
为什么要用pandas和numpy标签?有什么关系?
python
pandas
dataframe
numpy
datetime
Mainland
Mainland
发布于 2022-06-21
2 个回答
cocomac
cocomac
发布于 2022-06-21
已采纳
0 人赞同

只要把它放到 str(...) 的函数中。

import datetime
my_date = datetime.date(2022, 6, 7)
print(str(my_date))  # prints 2022-06-07

从技术上讲,你可以直接print,不先把它变成一个字符串。但把它放在str中,意味着你可以把这个字符串保存到一个变量中,而不是打印出来。

如果你需要更高级的格式化选项,那么你可以按@FObersteiner的建议做。但你想要的格式恰好是默认的,所以如果你只想要这一种格式,这就可以了

papiesz
papiesz
发布于 2022-06-21
0 人赞同

Try this:

# import datetime module
from datetime import datetime
# consider date in string format
my_date = "30-May-2020-15:59:02"
# convert datetime string into date,month,day and
# hours:minutes:and seconds format using strptime
d = datetime.strptime(my_date, "%d-%b-%Y-%H:%M:%S")