применить функцию к каждой строке кадра данных - PullRequest
0 голосов
/ 19 мая 2018

Каков более элегантный способ реализации ниже?

Я хочу применить функцию: my_function к фрейму данных, где каждая строка фрейма данных содержит параметры функции.Затем я хочу записать вывод функции обратно в строку данных.

results = pd.DataFrame()
for row in input_panel.iterrows():
    (index, row_contents) = row
    row_contents['target']  = my_function(*list(row_contents))
    results = pd.concat([results, row_contents])

1 Ответ

0 голосов
/ 19 мая 2018

Мы переберем значения и в конце построим DataFrame.

results = pd.DataFrame([my_function(*x) for x in input_panel.values.tolist()])

Менее рекомендуемый метод - это использование DataFrame.apply:

results = input_panel.apply(lambda x: my_function(*x))

Единственное преимуществоapply меньше печатает.

...