Cara memilih kolom berdasarkan indeks di pandas dataframe
Seringkali Anda mungkin ingin memilih kolom di pandas DataFrame berdasarkan nilai indeksnya.
Jika Anda ingin memilih kolom berdasarkan pengindeksan bilangan bulat, Anda dapat menggunakan fungsi .iloc .
Jika Anda ingin memilih kolom berdasarkan pengindeksan label, Anda dapat menggunakan fungsi .loc .
Tutorial ini memberikan contoh cara menggunakan masing-masing fungsi ini dalam praktik.
Contoh 1: Pilih Kolom Berdasarkan Pengindeksan Integer
Kode berikut menunjukkan cara membuat pandas DataFrame dan menggunakan .iloc untuk memilih kolom dengan nilai indeks integer 3 :
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B'], ' points ': [11, 7, 8, 10, 13, 13], ' assists ': [5, 7, 7, 9, 12, 9], ' rebounds ': [11, 8, 10, 6, 6, 5]}) #view DataFrame df team points assists rebounds 0 A 11 5 11 1 To 7 7 8 2 to 8 7 10 3 B 10 9 6 4 B 13 12 6 5 B 13 9 5 #select column with index position 3 df. iloc [:, 3] 0 11 1 8 2 10 3 6 4 6 5 5 Name: rebounds, dtype: int64
Kita dapat menggunakan sintaks serupa untuk memilih beberapa kolom:
#select columns with index positions 1 and 3
df. iloc [:, [1, 3]]
rebound points
0 11 11
1 7 8
2 8 10
3 10 6
4 13 6
5 13 5
Atau kita dapat memilih semua kolom dalam suatu rentang:
#select columns with index positions in range 0 through 3
df. iloc [:, 0:3]
team points assists
0 to 11 5
1 To 7 7
2 to 8 7
3 B 10 9
4 B 13 12
5 B 13 9
Contoh 2: Pilih Kolom Berdasarkan Pengindeksan Label
Kode berikut menunjukkan cara membuat pandas DataFrame dan menggunakan .loc untuk memilih kolom dengan label indeks “bouncing” :
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B'], ' points ': [11, 7, 8, 10, 13, 13], ' assists ': [5, 7, 7, 9, 12, 9], ' rebounds ': [11, 8, 10, 6, 6, 5]}) #view DataFrame df team points assists rebounds 0 A 11 5 11 1 To 7 7 8 2 to 8 7 10 3 B 10 9 6 4 B 13 12 6 5 B 13 9 5 #select column with index label 'rebounds' df. loc [:, ' rebounds '] 0 11 1 8 2 10 3 6 4 6 5 5 Name: rebounds, dtype: int64
Kita dapat menggunakan sintaks serupa untuk memilih beberapa kolom dengan label indeks berbeda:
#select the columns with index labels 'points' and 'rebounds'
df. loc [:,[' points ',' rebounds ']]
rebound points
0 11 11
1 7 8
2 8 10
3 10 6
4 13 6
5 13 5
Atau kita dapat memilih semua kolom dalam suatu rentang:
#select columns with index labels between 'team' and 'assists'
df. loc [:, ' team ':' assists ']
team points assists
0 to 11 5
1 To 7 7
2 to 8 7
3 B 10 9
4 B 13 12
5 B 13 9
Terkait: Pandas loc vs iloc: apa bedanya?
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:
Cara mengelompokkan berdasarkan indeks dalam Pandas DataFrame
Cara memilih baris berdasarkan indeks di Pandas DataFrame
Cara mendapatkan nomor baris di Pandas DataFrame
Cara menghapus kolom indeks di Pandas DataFrame