Поведение df.map() внутри другого df.apply()Python

Программы на Python
Ответить
Anonymous
 Поведение df.map() внутри другого df.apply()

Сообщение Anonymous »

Мне этот код очень интересен. Я немного изменил код, чтобы улучшить вопрос. По сути, код использует DataFrame для форматирования стиля другого DataFrame с помощью pd.style.

Код: Выделить всё

t1 = pd.DataFrame({'x':[300,200,700], 'y':[100,300,200]})
t2 = pd.DataFrame({'x':['A','B','C'], 'y':['C','B','D']})

def highlight_cell(val, props=''):
return props if val > 200 else ''

t2.style.apply(lambda x: t1.map(highlight_cell, props='background-color:yellow'), axis=None)
Изображение
Но может ли кто-нибудь объяснить, как работает последняя строка? Мне не удалось найти документацию Pandas, которая разъясняла бы поведение df.map() внутри другого df.apply().
Для меня код выглядит следующим образом: например, для каждого элемента в t1 примените Highlight_cell() сразу ко всему t2, а затем верните все это целиком, как показано в этом псевдокоде.

Код: Выделить всё

for x in all_items_in_t1:
yield [highlight_cell(y) for y in all_items_in_t2]
Однако выходные данные говорят: для каждого элемента в t1 применить функцию Highlight_cell() только к соответствующему элементу в t2, который имеет одинаковые (x, y) местоположение как этот элемент в t1, вот так.

Код: Выделить всё

for x, y in zip(all_items_in_t1, all_items_in_t2):
yield highlight_cell(y)
Мне все еще трудно понять этот шаблон, потому что он кажется немного запутанным. Кто-нибудь может объяснить это более понятно?

Подробнее здесь: https://stackoverflow.com/questions/792 ... r-df-apply
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»