Як поміняти місцями два рядки в pandas (з прикладом)


Ви можете використовувати наступну спеціальну функцію, щоб поміняти місцями два рядки у pandas DataFrame:

 def swap_rows (df, row1, row2):
    df. iloc [row1], df. iloc [row2] = df. iloc [row2]. copy (), df. iloc [row1]. copy ()
    return df

Ця функція поміняє місцями позиції рядків у позиціях індексів row1 і row2 у DataFrame.

У наступному прикладі показано, як використовувати цю функцію на практиці.

Приклад: поміняти місцями два рядки в Pandas

Припустімо, що у нас є наступні pandas DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs', 'Nets', 'Kings', 'Cavs', 'Heat', 'Magic'],
                   ' points ': [12, 15, 22, 29, 24, 22],
                   ' assists ': [4, 5, 10, 8, 7, 10]})

#view DataFrame
print (df)

    team points assists
0 Mavs 12 4
1 Nets 15 5
2Kings 22 10
3 Cavs 29 8
4 Heat 24 7
5 Magic 22 10

Ми можемо визначити функцію swap_rows() , щоб поміняти місцями рядки в позиціях індексу 0 і 4 у DataFrame:

 #define function to swap rows
def swap_rows (df, row1, row2):
    df. iloc [row1], df. iloc [row2] = df. iloc [row2]. copy (), df. iloc [row1]. copy ()
    return df

#swap rows in index positions 0 and 4
df = swap_rows(df, 0 , 4 )

#view updated DataFrame
print (df)

    team points assists
0 Heat 24 7
1 Nets 15 5
2Kings 22 10
3 Cavs 29 8
4 Mavs 12 4
5 Magic 22 10

Зауважте, що рядки в індексних позиціях 0 і 4 були поміняні місцями, тоді як усі інші рядки залишилися на тій же позиції.

Примітка : у функції swap_rows() ми використовували функцію .iloc для вибору рядків із DataFrame на основі їхньої позиції індексу.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в pandas:

Pandas: як підрахувати випадки певного значення в стовпці
Pandas: отримати індекс рядків, стовпець яких відповідає значенню
Pandas: Як підрахувати відсутні значення в DataFrame

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *