Jak przesunąć kolumnę w pandach: z przykładami


Możesz użyć funkcji shift() , aby przesunąć wartości w górę lub w dół kolumny w pandzie DataFrame:

 #shift values down by 1
df[' column1 '] = df[' column1 ']. shift (1)

#shift values up by 1
df[' column1 '] = df[' column1 ']. shift (-1)

Poniższe przykłady pokazują, jak w praktyce używać tej funkcji z następującą ramką DataFrame pand:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' product ': ['A', 'B', 'C', 'D', 'E', 'F'],
                   ' sales ': [4, 7, 8, 12, 15, 19]})

#view DataFrame
df

        product sales
0 to 4
1 B 7
2 C 8
3 D 12
4 E 15
5 F 19

Przykład 1: Przesuń kolumnę w górę lub w dół

Poniższy kod pokazuje jak przesunąć wszystkie wartości w kolumnie „produkt” w dół o 1:

 #shift all 'product' values down by 1
df[' product '] = df[' product ']. shift (1)

#view updated DataFrame
df

	product sales
0 NaN 4
1 to 7
2 B 8
3 C 12
4 D 15
5 E 19

Należy pamiętać, że każda wartość w kolumnie „produkt” została przesunięta o 1, a pierwsza wartość w kolumnie została zmieniona na NaN.

Należy również pamiętać, że ostatnia wartość w kolumnie Produkt („F”) została całkowicie usunięta z ramki DataFrame.

Aby zachować wartość „F” w ramce DataFrame, musimy najpierw dodać pustą linię na dole ramki DataFrame, a następnie wykonać przesunięcie:

 import numpy as np

#add empty row to bottom of DataFrame
df. loc [len(df. index )] = [np. nah , np. no ]

#shift all 'product' values down by 1
df[' product '] = df[' product ']. shift (1)

#view updated DataFrame
df

	product sales
0 NaN 4.0
1 to 7.0
2B 8.0
3C 12.0
4 D 15.0
5 E 19.0
6 F NaN

Należy pamiętać, że wartość „F” jest zachowywana jako ostatnia wartość w kolumnie „produkt”.

Przykład 2: Przesuń wiele kolumn w górę lub w dół

Poniższy kod pokazuje jak przesunąć wszystkie wartości w kolumnach „produkt” i „sprzedaż” w górę o 2:

 #shift all 'product' and 'sales' values up by 2
df[[' product ', ' sales ']] = df[[' product ', ' sales ']]. shift (-2)

#view updated DataFrame
df

        product sales
0 C 8.0
1 D 12.0
2 E 15.0
3 F 19.0
4 NaN NaN
5 NaN NaN

Należy pamiętać, że każda wartość w kolumnach „produkt” i „sprzedaż” została przesunięta w górę o 2, a dwie dolne wartości w każdej kolumnie zostały zmienione na NaN.

Uwaga : pełną dokumentację funkcji shift() można znaleźć tutaj .

Dodatkowe zasoby

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

Jak dodać wiersze do ramki danych Pandas
Jak dodać kolumnę do ramki danych Pandas
Jak dodać wiersz nagłówka do ramki danych Pandas

Dodaj komentarz

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