вызовите функцию с несколькими аргументами в applymap в python - PullRequest
0 голосов
/ 13 октября 2018

Я написал функцию для присвоения цветов переменным для фрейма данных pandas.там я использовал два аргумента: первый - список переменных, а другой - список пороговых значений (у меня в списке только два значения, например, 30 и 50), для цвета переменных и функции следующим образом: *

def color_code(val,values):
    if val <= values[0]:
       color = 'green'
    elif values[0]<val<=values[1]:
       color = 'yellow'
    elif val >values[1]:
       color = 'red'
    return 'background-color: %s' % color

Теперь я хочу вызвать эту функцию. Для этого я попробовал следующее.

df1=df.style.applymap(color_code,subset=['col1','col2'],values=[30,50])

, но вышеуказанный вызов не работает для меня.

Может кто-нибудь помочь мне решить эту проблему.

Заранее спасибо.

1 Ответ

0 голосов
/ 13 октября 2018

Вы можете попробовать это:

def color_code(values):
    def color_code_by_val(val):
        if val <= values[0]:
            color = 'green'
        elif values[0]<val<=values[1]:
            color = 'yellow'
        elif val >values[1]:
            color = 'red'
        return 'background-color: %s' % color
    return color_code_by_val

Тогда ваш звонок должен быть:
df1=df.style.applymap(color_code([30,50]), subset=['col1','col2'])

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...