Я пытаюсь выделить разницу между двумя столбцами таблиц. Я получил две логические серии mask (mask1, mask2), чтобы сказать, есть ли какая-либо разница между двумя столбцами Кол-во и Забронировано в двух фреймах данных df_A и df_B
Я хочу выделить разницу, поэтому я прошел таким образом
def highlight_changes(df, m1, m2):
y= 'yellow'
df1 = pd.DataFrame('background-color: {}'.format(''), index=df.index, columns=df.columns)
# rewrite values by boolean masks
df1['Quantity'] = np.where(m1, 'background-color: {}'.format(y), df1['Quantity'])
df1['Booked'] = np.where(m2, 'background-color: {}'.format(y), df1['Booked']
return df1
### mask1 and mask2 derived previously
df_n.style.apply(highlight_changes, args=(mask1, mask2), axis=None).to_excel('writer.xlsx')
При запуске выдает ошибку:
TypeError: highlight_changes() got an unexpected keyword argument 'args'
Полагаю, это означает, что метод pandas .style.apply не содержит аргументов
Я пытался использовать лямбда-функцию, но я не очень уверен, как передать внешнее применение лямбда-функции. Я мог бы подумать, добавив mask1 и mask2 к df_n, а затем запустив этот
df_n.style.apply(lambda x: highlight_changes(x,mask1, mask2), axis=None).to_excel('writer.xlsx')
Однако я не хочу, чтобы mask1 и mask2 появлялись в электронной таблице Excel
Как я могу это сделать это?
Спасибо
ОБНОВЛЕНИЕ
df_o
S / N Pe Дата Материал Заказанное количество
3733 41116 20120726 25-22923-2 QM0200258 1 0
3734 41116 20120326 55-11943-2 SJ0030219 1 0
3735 41116 20120716 23-21963-2 PM1000210 1 0
4843 41589 20131111 1553 2215564 1 1
6861 41589 20131111 6147-1 2215565 1 1
(это старый фрейм данных)
предыдущий фрейм данных df_o предыдущий фрейм данных
![enter image description here](https://i.stack.imgur.com/XOrTc.png)
Текущий фрейм данных df_n новый фрейм данных ![enter image description here](https://i.stack.imgur.com/lgciZ.png)
В основном я хочу обнаружить изменения в количестве и забронированные столбцы в новом фрейме данных.
Я получил маску изменений для столбца Количество и Забронировано для df_n (не является частью кадра данных)
mask1
![enter image description here](https://i.stack.imgur.com/vtsH2.png)
mask2 выглядит аналогично с той же длиной
Update
Фактическое значение mask1 - False, True, False (Aaccordig для выборки)
Фактическое значение mask2 - True, False, False (Aaccordig to sample)
Теперь я хочу выделить изменения в df_n
![enter image description here](https://i.stack.imgur.com/r9EjE.png)
Что я сделал Одно из возможных решений - объединить mask1 и 2 в df_n, но я не хочу mask1 и mask2 ... но у меня проблемы с их удалением отключено в функции highlight_changes.
Я пытался связать функцию отбрасывания после применения highlight_changes, но это объект стиля, а не датафрейм.