Pandas: cara mencari selisih antara dua kolom


Untuk menemukan perbedaan antara dua kolom dalam pandas DataFrame, Anda dapat menggunakan sintaks berikut:

 df[' difference '] = df[' column1 '] - df[' column2 ']

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh 1: Temukan perbedaan antara dua kolom

Misalkan kita memiliki panda DataFrame berikut yang menunjukkan total penjualan untuk dua wilayah (A dan B) selama delapan periode penjualan berturut-turut:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' period ': [1, 2, 3, 4, 5, 6, 7, 8],
                   ' A_sales ': [12, 14, 15, 13, 18, 20, 19, 24],
                   ' B_sales ': [14, 19, 20, 22, 24, 20, 17, 23]})

#view DataFrame
df

period A_sales B_sales
0 1 12 14
1 2 14 19
2 3 15 20
3 4 13 22
4 5 18 24
5 6 20 20
6 7 19 17
7 8 24 23

Kode berikut menunjukkan cara menghitung selisih penjualan Wilayah B dan Wilayah A untuk setiap periode penjualan:

 #add new column to represent difference between B sales and A sales
df[' diff '] = df[' B_sales '] - df[' A_sales ']

#view DataFrame
df

        period A_sales B_sales diff
0 1 12 14 2
1 2 14 19 5
2 3 15 20 5
3 4 13 22 9
4 5 18 24 6
5 6 20 20 0
6 7 19 17 -2
7 8 24 23 -1

Kita juga dapat menghitung selisih absolut dalam penjualan menggunakan fungsi pandas.Series.abs() :

 #add new column to represent absolute difference between B sales and A sales
df[' diff '] = pd. Series . abs (df[' B_sales '] - df[' A_sales '])

#view DataFrame
df

	period A_sales B_sales diff
0 1 12 14 2
1 2 14 19 5
2 3 15 20 5
3 4 13 22 9
4 5 18 24 6
5 6 20 20 0
6 7 19 17 2
7 8 24 23 1

Contoh 2: Temukan perbedaan antar kolom berdasarkan kondisi

Kita juga dapat memfilter DataFrame untuk hanya menampilkan baris yang selisih antar kolomnya kurang atau lebih dari nilai tertentu.

Misalnya, kode berikut hanya mengembalikan baris dengan penjualan di wilayah A lebih besar daripada penjualan di wilayah B:

 #add new column to represent difference between B sales and A sales
df[' diff '] = df[' B_sales '] - df[' A_sales ']

#display rows where sales in region A is greater than sales in region B
df[df[' diff ']< 0 ]


        period A_sales B_sales diff
6 7 19 17 -2
7 8 24 23 -1

Sumber daya tambahan

Pandas: cara mencari perbedaan antara dua garis
Pandas: cara mengelompokkan dan menggabungkan beberapa kolom

Tambahkan komentar

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