Cara memilih baris berdasarkan indeks di pandas dataframe


Seringkali Anda mungkin ingin memilih baris dalam pandas DataFrame berdasarkan nilai indeksnya.

Jika Anda ingin memilih baris berdasarkan pengindeksan bilangan bulat, Anda dapat menggunakan fungsi .iloc .

Jika Anda ingin memilih baris berdasarkan pengindeksan label, Anda dapat menggunakan fungsi .loc .

Tutorial ini memberikan contoh cara menggunakan masing-masing fungsi ini dalam praktik.

Contoh 1: Pilih baris berdasarkan pengindeksan bilangan bulat

Kode berikut menunjukkan cara membuat pandas DataFrame dan menggunakan .iloc untuk memilih baris dengan nilai indeks integer 4 :

 import pandas as pd
import numpy as np

#make this example reproducible
n.p. random . seeds (0)

#createDataFrame
df = pd. DataFrame ( np.random.rand (6,2),index=range(0,18,3),columns=[' A ' ,' B '])

#view DataFrame
df

	       A B
0 0.548814 0.715189
3 0.602763 0.544883
6 0.423655 0.645894
9 0.437587 0.891773
12 0.963663 0.383442
15 0.791725 0.528895

#select the 5th row of the DataFrame
df. iloc [[4]]

	       A B
12 0.963663 0.383442

Kita dapat menggunakan sintaks serupa untuk memilih beberapa baris:

 #select the 3rd, 4th, and 5th rows of the DataFrame
df. iloc [[2, 3, 4]]

	       A B
6 0.423655 0.645894
9 0.437587 0.891773
12 0.963663 0.383442

Atau kita dapat memilih semua baris dalam suatu rentang:

 #select the 3rd, 4th, and 5th rows of the DataFrame
df. iloc [2:5]

	       A B
6 0.423655 0.645894
9 0.437587 0.891773
12 0.963663 0.383442

Contoh 2: Pilih baris berdasarkan pengindeksan label

Kode berikut menunjukkan cara membuat pandas DataFrame dan menggunakan .loc untuk memilih baris dengan label indeks 3 :

 import pandas as pd
import numpy as np

#make this example reproducible
n.p. random . seeds (0)

#createDataFrame
df = pd. DataFrame ( np.random.rand (6,2),index=range(0,18,3),columns=[' A ' ,' B '])

#view DataFrame
df

	       A B
0 0.548814 0.715189
3 0.602763 0.544883
6 0.423655 0.645894
9 0.437587 0.891773
12 0.963663 0.383442
15 0.791725 0.528895

#select the row with index label '3'
df. loc [[3]]

               A B
3 0.602763 0.544883

Kita dapat menggunakan sintaks serupa untuk memilih beberapa baris dengan label indeks berbeda:

 #select the rows with index labels '3', '6', and '9'
df. loc [[3, 6, 9]]

	       A B
3 0.602763 0.544883
6 0.423655 0.645894
9 0.437587 0.891773

Perbedaan antara .iloc dan .loc

Contoh di atas menggambarkan perbedaan halus antara .iloc dan .loc :

  • .iloc memilih baris berdasarkan indeks bilangan bulat . Jadi, jika Anda ingin memilih baris ke-5 dari DataFrame, Anda akan menggunakan df.iloc[[4]] karena baris pertama berada di indeks 0, baris kedua berada di indeks 1, dan seterusnya.
  • .loc memilih baris berdasarkan indeks berlabel . Jadi, jika ingin memilih baris dengan label indeks 5, langsung menggunakan df.loc[[5]].

Sumber daya tambahan

Cara mendapatkan nomor baris di Pandas DataFrame
Cara menghapus baris dengan nilai NaN di Pandas
Cara menghapus kolom indeks di Pandas

Tambahkan komentar

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