Как написать лямбда-выражение в пандах, которые используют несколько столбцов и имена столбцов? - PullRequest
0 голосов
/ 09 декабря 2018

Я хочу добиться следующего с помощью лямбда-выражений панд

  1. найти значение в столбце, имя которого находится в столбце 'ideal_prime_fc'
  2. найти значение в столбце, чейимя находится в столбце 'prime_fc'
  3. найдите разницу и вставьте в новый столбец 'delta'

фрейм данных

1 Ответ

0 голосов
/ 09 декабря 2018

Хотелось бы что-то вроде следующего для вас?

Напишите функцию для вычитания значений в двух столбцах простых значений:

def get_col_name(x):
    try:
        ip_fc = x['ideal_prime_fc']
        p_fc = x['prime_fc']
        return x[ip_fc]-x[p_fc]
    except IndexError:
        return float('NaN')  # handle non-existent values however you'd prefer

Примените функцию, присваивая новый столбец:

df['diff'] = df.apply(lambda x: get_col_name(x), axis=1)

Пример усеченного вывода:

983     976     ideal_prime_fc  prime_fc    diff
2835    780     973             805         NaN
8       2259    983             983         0.0
2851    796     973             805         NaN
13      7       983             976         6.0   # added for test
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...