Cara mengimbangi kolom di pandas: dengan contoh


Anda dapat menggunakan fungsi shift() untuk menggeser nilai ke atas atau ke bawah kolom di pandas DataFrame:

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

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

Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktik dengan pandas DataFrame berikut:

 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

Contoh 1: Memindahkan kolom ke atas atau ke bawah

Kode berikut menunjukkan cara menggeser semua nilai pada kolom “produk” ke bawah sebanyak 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

Perhatikan bahwa setiap nilai pada kolom “produk” telah digeser sebesar 1 dan nilai pertama pada kolom tersebut telah diubah menjadi NaN.

Perhatikan juga bahwa nilai terakhir di kolom Produk (“F”) telah dihapus seluruhnya dari DataFrame.

Untuk mempertahankan nilai “F” di DataFrame, pertama-tama kita perlu menambahkan baris kosong di bagian bawah DataFrame dan kemudian melakukan offset:

 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

Perhatikan bahwa nilai “F” disimpan sebagai nilai terakhir di kolom “produk”.

Contoh 2: Pindahkan beberapa kolom ke atas atau ke bawah

Kode berikut menunjukkan cara menggeser semua nilai pada kolom “produk” dan “penjualan” ke atas sebanyak 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

Perhatikan bahwa setiap nilai di kolom “produk” dan “penjualan” telah digeser ke atas sebanyak 2, dan dua nilai terbawah di setiap kolom telah diubah menjadi NaN.

Catatan : Anda dapat menemukan dokumentasi lengkap untuk fungsi shift() di sini .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:

Bagaimana cara menambahkan baris ke Pandas DataFrame
Bagaimana cara menambahkan kolom ke Pandas DataFrame
Bagaimana cara menambahkan baris header ke Pandas DataFrame

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *