Pandas: як оновити значення в рядках
Ви можете використовувати наступний базовий синтаксис для оновлення значень у pandas DataFrame під час використання iterrows :
for i, row in df. iterrows ():
points_add = 10
if row[' points '] > 15:
points_add = 50
df. at [i,' points '] = points_add
Цей конкретний приклад повторює кожен рядок DataFrame та оновлює значення в стовпці з крапками до 50 , якщо значення на даний момент перевищує 15.
Якщо поточне значення менше або дорівнює 15, значення оновлюється до 10 .
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: оновлення значень у Pandas DataFrame у рядках
Припустімо, що у нас є такий фрейм даних pandas, який показує кількість очок, набраних різними баскетболістами:
import pandas as pd #createDataFrame df = pd. DataFrame ({' player ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'], ' points ': [10, 12, 14, 15, 15, 15, 16, 17, 20]}) #view DataFrame print (df) player points 0 to 10 1 B 12 2 C 14 3 D 15 4 E 15 5 F 15 6 G 16 7:17 a.m. 8 I 20
Припустимо, ми хочемо оновити значення в стовпці балів за такою логікою:
- Якщо кількість балів менша або дорівнює 15, оновіть значення до 10 .
- Якщо кількість балів перевищує 15, оновіть значення до 50 .
Ми можемо використовувати функцію iterrows , щоб перебирати кожен рядок DataFrame і робити такі оновлення:
#iterate over each row in DataFrame and update values in points column
for i, row in df. iterrows ():
points_add = 10
if row[' points '] > 15:
points_add = 50
df. at [i,' points '] = points_add
#view updated DataFrame
print (df)
player points
0 to 10
1 B 10
2 C 10
3 D 10
4 E 10
5 F 10
6 G 50
7:50 a.m.
8 I 50
Ми бачимо, що значення в стовпці балів були відповідно оновлені.
Примітка . Ви можете знайти повну документацію для функції pandas iterrows() тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в pandas:
Pandas: Як переміщатися по стовпцях
Pandas: як вибрати рядки між двома значеннями
Pandas: оновіть значення стовпців на основі іншого DataFrame