как я могу применить многострочные данные в кадре данных - PullRequest
0 голосов
/ 18 октября 2019

Я новичок в Python и Pandas, у меня огромный набор данных и я хочу применить функцию строка за строкой, которую я хочу применить к пакету строк и вернуть обратно результат и связанный обратно в ту же соответствующую строку обратно

Пример:

ID  Values
a   2
b   3
c   4
d   5
e   6
f   7

df['squared_values']= df['values'].apply(lambda row: function(row))

def function(x):
   #making call to api and returning values related to x
   return response

выше одной применяемой функции строка за строкой, которая занимает много времени

Мне нужен способ выполнения пакетных операций со строкой

example:


batch=3


df['squared_values']= df['values'].apply(lambda batch: function(batch))

on first pass values should be 

ID  Values squared_values
a   2        4
b   3        9
c   4        16
d   5
e   6
f   7

on second pass 
ID  Values squared_values
a   2        4
b   3        9
c   4        16
d   5        25
e   6        36
f   7        49

1 Ответ

0 голосов
/ 18 октября 2019

Эта операция действительно слишком медленная?

df['squared_values'] = df['Values'] ** 2

Вы всегда можете добавить iloc для выбора строк:

df.iloc['squared_values'].update(df.iloc[0:4]['Values'] ** 2)

Но я не могу представить, что это быстрее

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