查找日期时间范围内的日期行索引
使用日期时间和数据框,我想找到哪些行属于我指定的日期范围。
示例数据框:
times = pd.date_range(start="2018-01-01",end="2020-02-02")
values = np.random.rand(512)
# Make df
df = pd.DataFrame({'Time' : times,
'Value': values})
如何轻松选择特定月份或范围内的所有值?
我觉得一个好的步骤是使用:
pd.to_datetime(df['Time']).dt.to_period('M')
>>> df
0 2018-01
1 2018-02
2 2018-03
但我不知道如何继续。我希望能够选择像 2019-01
这样的年份/月份或范围 2019-01:2020-01
来查找输入的数据帧中的索引。
Using datetime and a dataframe, I want to find which rows fall within the range of dates I have specified.
Sample dataframe:
times = pd.date_range(start="2018-01-01",end="2020-02-02")
values = np.random.rand(512)
# Make df
df = pd.DataFrame({'Time' : times,
'Value': values})
How do I easily select all values that fall within a certain month or range?
I feel like a good step is using:
pd.to_datetime(df['Time']).dt.to_period('M')
>>> df
0 2018-01
1 2018-02
2 2018-03
But I wouldn't know how to contine. I would like to be able to select a year/month like 2019-01
or a range 2019-01:2020-01
to find the indices in the dataframe that the input.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
显然我已经做了正确的事情,但语法错误。
速度很快,但只是为了确定答案:
然后也可以指定范围。
I apparently did the right thing already, but had a wrong syntax.
It was quick, but just to be sure here is the answer:
Then a range can be specified as well.
使用
查询
还可以非常快速地选择日期范围:With
query
you can also select date ranges pretty quickly: