фрейм данных pandas создает новые столбцы и заполняет ответом внешнего API, рассчитанным с использованием согласованных значений из того же df

#python #pandas #dataframe #for-loop #rows

Вопрос:

 df=  User id 0 u1 id1 1 u2 id2 2 u3 id3  user_limit1=api('u1:id1')  new_df=  User id user_limit 0 u1 id1 user_limit1 1 u2 id2 user_limit2 2 u3 id3 user_limit3  

как я могу обновить df, как указано выше, примерно для 9800 строк DF ?

Ответ №1:

Создайте столбец и используйте apply в строках

 df['user_limit'] = df.apply(lambda x: api_call(f'{x.User}:{x.id}'), axis=1)  

или

 df['user_limit'] = df.User   ':'   df.id df['user_limit'] = df.user_limit.map(api_call)  

Примечание. Убедитесь, что api_call функция возвращает только одно значение