Pandas: mengekstrak nilai kolom berdasarkan kolom lain


Anda dapat menggunakan fungsi query() di panda untuk mengekstrak nilai di satu kolom berdasarkan nilai di kolom lain.

Fungsi ini menggunakan sintaks dasar berikut:

 df. query (" team=='A' ")[" points "]

Contoh khusus ini akan mengekstrak setiap nilai dari kolom poin dimana kolom tim sama dengan A.

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya dengan pandas DataFrame berikut:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'],
                   ' points ': [11, 28, 10, 26, 6, 25, 29, 12]})

#view DataFrame
print (df)

  team position points
0 AG 11
1 AG 28
2 AF10
3AF 26
4 BG 6
5 BG 25
6 BF 29
7 BF 12

Contoh 1: Ekstrak nilai kolom berdasarkan kondisi yang terpenuhi

Kode berikut menunjukkan cara mengekstrak setiap nilai dari kolom poin dimana nilai kolom tim sama dengan “A”:

 #extract each value in points column where team is equal to 'A'
df. query (" team=='A' ")[" points "]

0 11
1 28
2 10
3 26
Name: points, dtype: int64

Fungsi ini mengembalikan empat nilai di kolom poin dimana nilai terkait di kolom tim sama dengan “A”.

Contoh 2: Ekstrak nilai kolom berdasarkan salah satu dari banyak kondisi yang terpenuhi

Kode berikut menunjukkan cara mengekstrak setiap nilai dari kolom poin dimana nilai kolom tim sama dengan “A” atau nilai kolom posisi sama dengan “G”:

 #extract each value in points column where team is 'A' or position is 'G'
df. query (" team=='A' | position=='G' ")[" points "]

0 11
1 28
2 10
3 26
4 6
5 25
Name: points, dtype: int64

Fungsi ini mengembalikan enam nilai pada kolom poin dimana nilai terkait pada kolom tim sama dengan “A” atau nilai pada kolom posisi sama dengan “G”.

Contoh 3: Ekstrak nilai kolom berdasarkan beberapa kondisi yang terpenuhi

Kode berikut menunjukkan cara mengekstrak setiap nilai dari kolom poin dimana nilai kolom tim sama dengan “A” dan nilai kolom posisi sama dengan “G”:

 #extract each value in points column where team is 'A' and position is 'G'
df. query (" team=='A' & position=='G' ")[" points "]

0 11
1 28
Name: points, dtype: int64

Fungsi ini mengembalikan dua nilai di kolom poin dimana nilai terkait di kolom tim sama dengan “A” dan nilai di kolom posisi sama dengan “G”.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di panda:

Pandas: cara memilih kolom berdasarkan kondisi
Pandas: menghapus baris berdasarkan beberapa kondisi
Pandas: perbarui nilai kolom berdasarkan DataFrame lain

Tambahkan komentar

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