Оцените столбец Function Pointer и сохраните результаты в Pandas - PullRequest
0 голосов
/ 28 декабря 2018

Я пытаюсь написать программу для расчета набора статистических данных на основе набора данных.У меня есть имена статистики, функция для вычисления статистики и место для результатов в кадре данных.Осталось только оценить функцию и поместить результаты в столбец результатов.

Я видел в Python указатели функций, используемые как

def func():
    #do a thing
    return f
func()

, и я видел применение таких вещей к фрейму данных, как

df['col1'] = 5 + df['col2']

, но сочетая такие понятия, какниже не работает, говоря, что объект серии не вызывается.Я надеюсь, что есть способ сделать это чисто, не перебирая строки.

def a():
    #do a thing...
    return 'a'

def b():
    #do a thing
    return 'b'

def c():
    #do a thing
    return 'c'

df = pd.DataFrame([[a,''],[b,''],[c,'']], columns=['func','result'])

                                 func result
0  <function a at 0x000000001775D3C8>
1  <function b at 0x000000001775D438>
2  <function c at 0x000000001775D4A8>


df['result'] = df['func']()

                                 func result
0  <function a at 0x000000001775D3C8>   'a'
1  <function b at 0x000000001775D438>   'b'
2  <function c at 0x000000001775D4A8>   'c'

1 Ответ

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

или вы начинаете искать альтернативы, и ответ находит вас ... см. Этот другой вопрос SO

df['result'] = df.apply(lambda row: row['func'](), axis=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...