выделить (цвет) строку данных панды по индексу - PullRequest
0 голосов
/ 30 апреля 2018

у меня есть два кадра данных df1:

d1 = {"col1" : ['A', 'B', 'C'],
      "Col2": ["home", "car","banana" ]}

d2 = {"col1" : ['D', 'F','C'],
      "Col2": ["garden", "boat","banana" ]}

df1 = pd.DataFrame(data=d1)
df2 = pd.DataFrame(data=d2)

new_df = pd.merge(df1, df2,  on ='col1', how='outer')
new_df

Итак, я пытаюсь выделить третий банан, который был найден в двух фреймах данных. Я использовал документацию Styling , чтобы найти решение, но не повезло. Мне удалось выделить только одну строку, но когда у меня несколько строк, это не работает. Пожалуйста, протяните руку помощи

1 Ответ

0 голосов
/ 30 апреля 2018

Если вы хотите выделить две строки (скажем, индексы 2 и 4), это почти копия этого ответа

new_df.style.apply(lambda x: ['background: lightgreen' if x.name in [2,4] 
                              else '' for i in x], 
                   axis=1)

Если вместо этого вы хотите выделить каждую строку, содержащую данное имя в списке (т.е. lst = ['car', 'boat']), вы можете использовать

new_df.style.apply(lambda x: ['background: lightgreen' if (set(lst).intersection(x.values)) 
                              else '' for i in x], 
                   axis=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...