Применение функций к нескольким столбцам с пандами - PullRequest
0 голосов
/ 09 января 2019

У меня есть две функции, подобные этой:

def wind_index(result):
    if result > 10:
        return 1
    elif (result > 0) & (result <= 5):
        return 1.5
    elif (result > 5) & (result <= 10):
        return 2


def get_thermal_index(temp, hum):

    return wind_index(temp - 0.4*(temp-10)*((1-hum)/100))

Когда я пытаюсь применить эту функцию следующим образом:

 df['tci'] = get_thermal_index(df['tempC'], df['humidity'])

Я получил эту ошибку: ValueError: Значение истинности Серии неоднозначно. Используйте a.empty, a.bool (), a.item (), a.any () или a.all ().

Что еще я могу сделать, чтобы получить новый столбец для моего DataFrame, используя эти функции ??

1 Ответ

0 голосов
/ 09 января 2019

Вы можете использовать Series.apply:

def get_thermal_index(temp, hum):
    return (temp - 0.4*(temp-10)*((1-hum)/100)).apply(wind_index)
...