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