![](/img/trans.png)
[英]Get range of dates between specified start and end date from csv using python
[英]Python Dataframe: Get rows between a specified date range/Period?
我有一个包含两列name
和time
的df
。 我想找到输入之间的行 - input1
和input2
input1 = pd.Period('4/21/2020')
input2 = pd.Period('5/20/2020')
df
raw_data = {
'name': ['a', 'b', 'c', 'd','e','f','g','h','i'],
'time': ['2020-03-12','2020-03-16','2020-04-29','2020-03-16',
'2020-03-16','2020-04-16','2020-03-09','2020-05-19','2020-04-23']
}
df = pd.DataFrame(raw_data, columns = ['name', 'time'])
name time
0 a 2020-03-12
1 b 2020-03-16
2 c 2020-04-29
3 d 2020-03-16
4 e 2020-03-16
5 f 2020-04-16
6 g 2020-03-09
7 h 2020-05-19
8 i 2020-04-23
我预期的 output:
df
name time
2 c 2020-04-29
7 h 2020-05-19
8 i 2020-04-23
我试过的:
df['time'] = pd.to_datetime(df['time'])
df = df[df['time'].dt.to_period('d').isin([input1, input2])]
您的输入值是需要转换为时间戳的期间,
df.loc[(df['time'] > input1.to_timestamp()) & (df['time'] < input2.to_timestamp())]
name time
2 c 2020-04-29
7 h 2020-05-19
8 i 2020-04-23
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.