我有一个包含许多列的数据框,其中一列(接收时间)已正确转换为日期时间
id receivedtime
1 2020-09-08 00:35:12
2 2020-09-09 06:16:09
3 2020-09-10 12:47:04
4 2020-09-08 15:57:05
等等。我只想选择特定日期的那些(这类似于这篇文章: subsets from a datetime column ,这有帮助,但对我不起作用)。我尝试做一个简单的替换:
df[df["receivedtime"]=="2020-09-10"]
但我得到了一个空的数据框作为返回。我相信它与小时、分钟和秒有关。显然,一种方法是从日期时间中删除该信息,但我想保留整个结构。我什至尝试使用 dt.datetime 但似乎没有任何效果。这里出了什么问题?
感谢任何帮助。
最佳答案
这是因为您的receivedtime
并不总是准确的日期,即时间等于00:00:00
。例如,尝试使用 dt.normalize()
从时间戳中获取日期:
df[df["receivedtime"].dt.normalize()=="2020-09-10"]
输出:
id receivedtime
2 3 2020-09-10 12:47:04
关于pandas - 使用 pandas 从日期时间列中选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64068683/