Как я могу получить строки кадра данных, которые помещаются между диапазонами другого кадра данных?Например:
import pandas as pd
df1 = pd.DataFrame({
'date': [
pd.Timestamp(2019,1,1),
pd.Timestamp(2019,1,2),
pd.Timestamp(2019,1,3),
pd.Timestamp(2019,2,1),
pd.Timestamp(2019,2,5)
]
})
df2 = pd.DataFrame({
'from_date': [pd.Timestamp(2019,1,1), pd.Timestamp(2019,2,1)],
'to_date': [pd.Timestamp(2019,1,2), pd.Timestamp(2019,2,1)]
})
Данные:
> df1
date
0 2019-01-01 <- I want this
1 2019-01-02 <- and this
2 2019-01-03
3 2019-02-01 <- and this
4 2019-02-05
> df2
from_date to_date
0 2019-01-01 2019-01-02
1 2019-02-01 2019-02-01
Диапазоны могут перекрывать друг друга.Я хочу найти все строки в df1
, которые попадают между любым диапазонов в df2
.Я попытался:
df1[df1['date'].between(df2['from_date'], df2['to_date'])]
Но это привело к ошибке:
ValueError: Can only compare identically-labeled Series objects