import pandas as pd
import numpy as np
df = pd.DataFrame({'A': 'foo bar foo'.split(),
'B': 'one one two'.split(),
'C': np.arange(3), 'D': np.arange(3) * 2})
j = [{'bgcolor': "#55aa2a"}, {'bgcolor': "#d42a2a"}, {'bgcolor': "#d42a2a"}]
df2 = pd.DataFrame({'E': j, 'F': j, 'G': j, 'H': j})
Приведенный выше код создает два кадра данных, df1
- это стандартный кадр, а df2
- это кадр, составленный из словарей (каждая ячейка имеет словарь в качестве значения).
Я хочу использовать ячейки df2
для стилизации ячеек df
на месте, т.е. ячейка df[0,1]
примет значение ячейки df2[0,1]
и будет использовать ее в качестве стиля
Пример:
def highlight(df,df2):
df[0,1] = '{}'.format(df2[0,1])
return df
(кроме примененного ко всему кадру)
Это должно дать цвет фона df[0,1]
как df2[0,1]="55aa2a"
, но возвращает KeyError
послеВызов df = df.style.apply(highlight, df2=df2).render()
Можно ли использовать ячейки df2
для стилизации ячеек df1
?