наблюдать за строками данных панд в цикле - PullRequest
0 голосов
/ 21 сентября 2019

Я пытаюсь прочитать строку данных построчно в цикле.

Есть фрейм данных df['col_1', 'col_2', 'col_n'], есть также определенная функция f(df), которая принимает одну строку фрейма данных в качестве аргументов.

Может кто-нибудь помочь мне с кодом прочитать строку данных построчно в цикле и применить функцию f() к каждой строке.

PS: Здесь входное значение для функции f() должно представлять собой фрейм данных, поскольку он обрабатывает данные, относящиеся к именам столбцов.

Спасибо!

1 Ответ

1 голос
/ 21 сентября 2019

Если я правильно понимаю ваш вопрос, этот код для вас:

def f(row):
    return str(row['A'] + 1) + str(row['B']).upper()

df = pd.DataFrame(data={'A': [1, 2, 3], 'B': ['x', 'y', 'z']})

df['new_col'] = df.apply(lambda row: f(row),axis=1)
# output
   A  B new_col
0  1  x      2X
1  2  y      3Y
2  3  z      4Z

Или, если вы хотите обновить значения строки:

def f2(row):
    row['A'] = row['A'] + 1
    row['B'] = row['B'].upper()
    row['new_col'] = str(row['A']) + str(row['B'])
    return row
df.apply(f2, axis=1)
#output
   A  B new_col
0  2  X      2X
1  3  Y      3Y
2  4  Z      4Z
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...