Панды, сравнивая фреймы данных различной длины для значения * range * и записывая обратно в оригинальную df - PullRequest
0 голосов
/ 12 октября 2019

У меня есть два фрейма данных с разными длинами индексов для сравнения.

df1: дневные низкие цены на акции (это одна низкая цена в день)

df2: ежедневные покупки акций (это имеетболее одной покупки в день)

Я бы хотел пройтись по строкам цены за дату в df2, проверяя, является ли df2 [Price]> df1 [low] и добавив YES в df2 [In_range] для этой строки, если она есть, и NO, если это не так.

Я включил снимок экрана с таблицами и простую диаграмму с описанием, которое вы видите. Изображение таблиц с простой диаграммой

Если вам нужно больше разъяснений, пожалуйста, дайте мне знать:)

Спасибо, Эллиот

1 Ответ

0 голосов
/ 14 октября 2019

Лучшим способом было бы добавить столбец 'low' ко второму фрейму данных.

df2 = df2.merge(df1, on = ['Company', 'time'])

И тогда выполнить проверку было бы просто в одном фрейме данных

df2['In range'] = df2['Price'] >= df2['low']
...