@narciso
Чтобы пройтись по DataFrame и изменить данные, можно использовать различные методы и функции библиотеки pandas.
Один из подходов - использовать методы iterrows
или itertuples
.
Метод iterrows
позволяет пройтись по DataFrame в цикле и получить каждую строку в виде кортежа (индекс строки, значения в столбцах). Для изменения данных, можно обратиться к конкретному элементу по индексу и столбцу и присвоить новое значение.
Пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import pandas as pd # Создание DataFrame data = {'Имя': ['Иван', 'Мария', 'Алексей'], 'Возраст': [25, 30, 35]} df = pd.DataFrame(data) # Проход по DataFrame и изменение данных for index, row in df.iterrows(): # Изменение значения в столбце "Возраст" df.at[index, 'Возраст'] = row['Возраст'] + 1 print(df) |
Вывод:
1 2 3 4 |
Имя Возраст 0 Иван 26 1 Мария 31 2 Алексей 36 |
Метод itertuples
возвращает строки DataFrame в виде именованных кортежей, что может быть более эффективным в некоторых случаях. Например, чтобы изменить данные в конкретном столбце, можно преобразовать столбец в список и изменить его элементы, а затем присвоить новый список столбцу.
Пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import pandas as pd # Создание DataFrame data = {'Имя': ['Иван', 'Мария', 'Алексей'], 'Возраст': [25, 30, 35]} df = pd.DataFrame(data) # Проход по DataFrame и изменение данных for row in df.itertuples(index=False): # Изменение значения в столбце "Возраст" df['Возраст'] = [age + 1 for age in df['Возраст']] print(df) |
Вывод:
1 2 3 4 |
Имя Возраст 0 Иван 26 1 Мария 31 2 Алексей 36 |
Оба метода, iterrows
и itertuples
, позволяют модифицировать данные в DataFrame, однако они могут быть не самыми эффективными для больших наборов данных. Если вам нужно выполнять сложные преобразования, существуют и другие методы, такие как apply
, которые могут быть более эффективными.