Skip to content Skip to sidebar Skip to footer

Using Dataframe Cell Values To Style Another Dataframe With Same Dimensions

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)

Solution 1:

You can change format of values for strings and then return DataFrame with same columns names (index values is necessary same too):

df2 = df2.applymap(lambda x: 'background-color: {}'.format(x.get('bgcolor')))
print (df2)
                           E                          F  \
0  background-color: #55aa2a  background-color: #55aa2a   1  background-color: #d42a2a  background-color: #d42a2a   2  background-color: #d42a2a  background-color: #d42a2a   

                           G                          H  
0  background-color: #55aa2a  background-color: #55aa2a  1  background-color: #d42a2a  background-color: #d42a2a  2  background-color: #d42a2a  background-color: #d42a2a  defhighlight(x):
    d = dict(zip(df2.columns, x.columns))
    return df2.rename(columns=d)

Or:

defhighlight(x):
    return pd.DataFrame(df2.values, columns=x.columns)

df.style.apply(highlight, axis=None)

df

Post a Comment for "Using Dataframe Cell Values To Style Another Dataframe With Same Dimensions"