Как отфильтровать столбец даты и времени по диапазонам времени, указанным в двух столбцах? - PullRequest
1 голос
/ 20 января 2020

В одном файле Excel, в котором у меня есть отфильтрованные данные, я хочу отфильтровать такие данные в соответствии со вторым файлом Excel, используя два столбца; StartTime и EndTime; в качестве временного диапазона

(типы столбцов времени в двух файлах Excel datetime64 [нс])

вы можете увидеть мои два файла Excel на рисунке введите описание изображения здесь

Мой код:

df1 =  pd.read_excel(filename_1)`
df2 = pd.read_excel(filename_2, usecols= "A,C")
df3 = df1[df1['BinaryLabels'] == 1]
df2 = df2[(df3["StartTime"] <= df2.Time) & (df2.Time <= df3["EndTime"])]
print(df2)

, и я получаю сообщение об ошибке: ValueError: Могу сравнивать только идентифицированные объекты Series

Как я могу это решить?

Спасибо за заранее ..

1 Ответ

0 голосов
/ 20 января 2020

Если geenral DataFrame s с различным количеством строк, вам необходимо merge с перекрестным соединением перед фильтрацией:

df1 = pd.read_excel(filename_1)
df2 = pd.read_excel(filename_2, usecols= "A,C")
df3 = df1[df1['BinaryLabels'] == 1]

df = df2.assign(a=1).merge(df3.assign(a=1), on='a', how='outer')
df = df[(df["StartTime"] <= df.Time) & (df.Time <= df["EndTime"])]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...