Jak zamienić dwie linie w pandach (z przykładem)


Możesz użyć następującej funkcji niestandardowej, aby zamienić pozycję dwóch wierszy w ramce DataFrame pandy:

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

Ta funkcja zamieni pozycje wierszy w pozycjach indeksu wiersza 1 i wiersza 2 w ramce DataFrame.

Poniższy przykład pokazuje, jak w praktyce wykorzystać tę funkcję.

Przykład: zamień dwie linie w Pandach

Załóżmy, że mamy następującą ramkę DataFrame pand:

 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

Możemy zdefiniować funkcję swap_rows() do zamiany wierszy w pozycjach indeksu 0 i 4 w ramce 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

Należy zauważyć, że wiersze na pozycjach indeksu 0 i 4 zostały zamienione miejscami, podczas gdy co drugi wiersz pozostał na tej samej pozycji.

Uwaga : W funkcji swap_rows() użyliśmy funkcji .iloc do wybrania wierszy z ramki DataFrame na podstawie ich pozycji w indeksie.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w pandach:

Pandy: jak liczyć wystąpienia określonej wartości w kolumnie
Pandy: pobierz indeks wierszy, których kolumna odpowiada wartości
Pandy: Jak policzyć brakujące wartości w DataFrame

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *