Como trocar duas linhas em pandas (com exemplo)


Você pode usar a seguinte função personalizada para trocar a posição de duas linhas em um DataFrame do pandas:

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

Esta função irá trocar as posições das linhas nas posições dos índices row1 e row2 no DataFrame.

O exemplo a seguir mostra como usar esta função na prática.

Exemplo: troque duas linhas no Pandas

Suponha que temos o seguinte DataFrame do pandas:

 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

Podemos definir uma função swap_rows() para trocar linhas nas posições de índice 0 e 4 no 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

Observe que as linhas nas posições de índice 0 e 4 foram trocadas enquanto todas as outras linhas permaneceram na mesma posição.

Nota : Na função swap_rows() , usamos a função .iloc para selecionar as linhas do DataFrame com base em sua posição de índice.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:

Pandas: como contar ocorrências de valores específicos em uma coluna
Pandas: obtém o índice de linhas cuja coluna corresponde ao valor
Pandas: Como contar valores ausentes no DataFrame

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *