Передача нескольких столбцов информационного кадра для извлечения значений и назначения их новым столбцам - PullRequest
0 голосов
/ 17 декабря 2018

Я пишу с помощью мобильного телефона, поэтому извиняюсь за то, что не предоставил код.Моя организация не позволяет мне получить доступ к этому сайту.

Мне не удалось добиться следующего.

SomeFunction(col1, col2): 
            #Do somethinng
            Return list

df[col3],  df[col4]  = df[[col1, col2]].applymap(SomeFunction)

Примечание: я смог заархивировать это, используя цикл for, но это заняло много времени.Есть еще много столбцов, поэтому я должен указать имена столбцов в кадре данных.

1 Ответ

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

Я думаю, вам нужно apply с axis=1 для процессов по строкам, но есть также петли под колпаком, поэтому значительное улучшение производительности проблематично:

def SomeFunction(col1, col2): 
    L = [1,2]
    return pd.Series(L)

df[['col3', 'col4']]  = df.apply(lambda x: SomeFunction(x['col1'], x['col2']), axis=1)

Для улучшения производительности лучше всего переписать вашу функцию с помощью векторизованных функций панд, если это возможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...