Отображение словаря функций в DataFrame на основе ключа - PullRequest
0 голосов
/ 13 февраля 2020

Описание

В настоящее время у меня есть словарь функций, которые все выполняют различные строковые операции, учитывая входную строку в качестве параметра (см. Рис. 1. ниже) . У меня также есть существующий pandas DataFrame с одним или несколькими такими же ключами словаря ниже, в дополнение к имени и типу имени (см. Рисунок 2. ниже):

Обязательно

Я хочу сопоставить функции, хранящиеся в словаре, показанном на рис. 1., с именами DataFrame (столбец SDN_NAME) на основе ключа, хранящегося в словаре, и столбца S-ID. в кадре данных.

  • Примечание : каждая функция, хранящаяся в словаре, может выполнять разные операции, что приведет к разным выводам для каждой входной строки.

Пожалуйста, предоставьте любая помощь / рекомендации в выполнении описанного выше процесса.

Рисунок 1:

scenarios = {
    '1-A': function1(), 
    '1-B': function2(), 
    '1-C': function3(), 
    '1-D': function4()
}

Рисунок 2:

See DataFrame

1 Ответ

0 голосов
/ 13 февраля 2020

Примерно так должно работать:

import pandas as pd

def f(x):
    return len(x)
def g(x):
    return len(x)/2

d = {'a':f,'b':g}

t = pd.DataFrame({'key':['a','a','b','a'],'v':['harsha','har','asdf','h']})

t['output'] = t.apply(lambda x: d[x['key']](x['v']),axis=1)

Вывод:

  key       v  output
0   a  harsha     6.0
1   a     har     3.0
2   b    asdf     2.0
3   a       h     1.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...