PANDAS SELECT ROWS: Cara Memilih Baris dari Pandas DataFrame – Codewithaden

Properti Pandas DataFrame seperti ILOC dan LOC bermanfaat untuk memilih baris dari DataFrame. Ada beberapa cara untuk memilih dan mengindeks baris DataFrame. Kami juga dapat memilih baris dari Pandas DataFrame berdasarkan kondisi yang ditentukan. Pilihan logis dan seri Boolean juga dapat diteruskan ke pengindeks generik [] dari data panda dan memberikan hasil yang sama.

PANDAS SELECT ROWS

Ke Pilih panda DataFrame baris di Python, gunakan ILOC Properti . Pandas ILOC Indexer untuk Pandas DataFrame digunakan untuk Pengindeksan/seleksi berbasis integer-lokasi dengan posisi.

PANDAS DataFrame adalah struktur data berlabel 2 dimensi dengan kolom yang berpotensi berbeda. Anda dapat menganggapnya sebagai spreadsheet, SQL meja , Atau dikte objek seri.

Ini umumnya merupakan objek panda yang paling umum digunakan. Seperti seri, DataFrame menerima berbagai jenis input:

  1. Dikt 1d ndarrays, Daftar , Dikt , atau seri
  2. 2-D Numpy.ndarray
  3. Terstruktur atau merekam ndarray
  4. SEBUAH Seri
  5. Lain DataFrame

Langkah -langkah untuk memilih baris dari Pandas DataFrame

Langkah 1: Pengaturan Data

Panda read_csv () adalah fungsi inbuilt yang digunakan untuk mengimpor data dari file CSV dan menganalisis data itu dalam Python. Jadi, kami akan mengimpor dataset dari file CSV, yang akan secara otomatis dikonversi ke Pandas DataFrame, dan kemudian pilih data dari DataFrame.

Kumpulan data untuk proyek kami ada di sini: people.csv

Data

Dataset di atas memiliki 18 baris dan 5 kolom.

Langkah 2: Impor data CSV

Masukkan file di folder proyek kami dan direktori yang sama dengan file pemrograman python kami app.py. Lalu menulis kode berikut di dalam app.py mengajukan.

# app.py

import pandas as pd

df = pd.read_csv('people.csv')
print(df) 

Keluaran

python3 app.py
    Name Sex  Age  Height  Weight
0   Alex   M   41      74     170
1   Bert   M   42      68     166
2   Carl   M   32      70     155
3   Dave   M   39      72     167
4   Elly   F   30      66     124
5   Fran   F   33      66     115
6   Gwen   F   26      64     121
7   Hank   M   30      71     158
8   Ivan   M   53      72     175
9   Jake   M   32      69     143
10  Kate   F   47      69     139
11  Luke   M   34      72     163
12  Myra   F   23      62      98
13  Neil   M   36      75     160
14  Omar   M   38      70     145
15  Page   F   31      67     135
16  Quin   M   29      71     176
17  Ruth   F   28      65     131 

Jadi, DataFrame kami sudah siap. Fungsi read_csv () secara otomatis mengubah data CSV menjadi DataFrame saat impor selesai. Lalu kita dapat memeriksa tipe data menggunakan Tipe python () fungsi.

# app.py

import pandas as pd

df = pd.read_csv('people.csv')
print(type(df)) 

Keluaran

python3 app.py
 

Langkah 3: Pilih Baris dari DataFrame Pandas

Pilih baris panda menggunakan properti ILOC

Pandaframe.iloc adalah metode inbuilt unik yang mengembalikan pengindeksan berbasis-lokasi integer untuk pemilihan berdasarkan posisi. Sintaks indeks ILOC adalah sebagai berikut.

df.iloc[, ] 

Ini pasti akan menjadi sumber kebingungan bagi pengguna R.

The ” ILOC ” di panda sudah terbiasa Pilih baris dan kolom dengan nomor Dalam urutan mereka muncul di DataFrame.

Jika kita lulus df.iloc [6, 0] , Itu berarti baris indeks ke -6 (indeks baris dimulai dari 0) dan kolom ke -0, yang merupakan namanya.

Jadi, outputnya akan sesuai dengan DataFrame kami Gwen. Jadi ayo Cetak ini secara terprogram.

Lihat kode berikut.

# app.py

import pandas as pd

df = pd.read_csv('people.csv')
print(df.iloc[6, 0]) 

Keluaran

python3 app.py
Gwen 

Anda dapat membayangkan bahwa setiap baris memiliki nomor baris dari 0 ke baris total (data.shape [0]), dan ILOC [] memungkinkan pemilihan berdasarkan angka -angka ini. Hal yang sama berlaku untuk semua kolom (mulai dari 0 hingga data.shape [1]).

Dalam contoh di atas, kami telah memilih nilai dataFrame tertentu, tetapi kami juga dapat memilih baris di dataFrame menggunakan ILOC. Lihat kode berikut.

# app.py

import pandas as pd

df = pd.read_csv('people.csv')
print(df.iloc[4]) 

Keluaran

python3 app.py
Name      Elly
Sex          F
Age         30
Height      66
Weight     124
Name: 4, dtype: object 

Jadi, kami telah memilih satu baris menggunakan properti ILOC [] dari DataFrame.

Jika kita memberikan nilai negatif ke properti ILOC [], itu akan memberi kita baris terakhir dari DataFrame.

# app.py

import pandas as pd

df = pd.read_csv('people.csv')
print(df.iloc[-1]) 

Keluaran

 python3 app.py
Name      Ruth
Sex          F
Age         28
Height      65
Weight     131
Name: 17, dtype: object 

Pilih baris panda menggunakan properti LOC

Pandas DataFrame LOC Properti Akses Sekelompok baris dan kolom dengan label atau array boolean.

DataFrame.loc [] terutama berbasis label tetapi juga dapat digunakan dengan array boolean.

Input yang diizinkan adalah sebagai berikut.

  1. Label tunggal, mis., 5 atau ‘A’, (perhatikan bahwa 5 ditafsirkan sebagai label indeks dan tidak pernah sebagai posisi integer bersama dengan indeks).
  2. Daftar atau Himpunan label, mis. [‘A’, ‘B’, ‘C’].
  3. SEBUAH Iris objek dengan label, mis. ‘A’: ’f’.
  4. Array boolean dengan panjang yang sama dengan sumbu yang diiris, mis., [Benar, salah, benar].
  5. Fungsi yang dapat dipanggil dengan satu argumen (seri panggilan atau dataframe) mengembalikan output yang valid untuk pengindeksan (salah satu dari yang di atas).

Sekarang, dalam contoh kami, kami belum menetapkan indeks. Kita bisa menggunakan Panda set_index () fungsi untuk mengatur indeks. Kami mengatur Nama kolom sebagai indeks kami.

Lihat kode berikut.

# app.py

import pandas as pd

df = pd.read_csv('people.csv')
df.set_index("Name", inplace=True) 

Sekarang, kami dapat memilih label apa pun dari Nama Kolom di DataFrame untuk mendapatkan baris untuk label tertentu.

Katakanlah kita perlu memilih baris dengan label, Gwen.

Lihat kode berikut.

# app.py

import pandas as pd

df = pd.read_csv('people.csv')
df.set_index("Name", inplace=True)
print(df.loc['Gwen']) 

Keluaran

python3 app.py
Sex         F
Age        26
Height     64
Weight    121
Name: Gwen, dtype: object 

Pilih beberapa baris DataFrame di panda

Properti PANDAS DataFrame LOC [] digunakan untuk memilih beberapa baris DataFrame.

Mari tetap dengan contoh di atas, tambahkan satu label lagi yang disebut Halaman, dan pilih beberapa baris.

Jadi, kami memilih baris berdasarkan Gwen dan Halaman Label.

Untuk memilih beberapa baris, kita harus meneruskan daftar label ke properti LOC [].

Lihat kode berikut.

# app.py

import pandas as pd

df = pd.read_csv('people.csv')
df.set_index("Name", inplace=True)
print(df.loc[['Gwen', 'Page']]) 

Keluaran

python3 app.py
     Sex  Age  Height  Weight
Name
Gwen   F   26      64     121
Page   F   31      67     135 

Pengindeksan boolean / logis menggunakan .loc

Pilihan bersyarat dengan array boolean menggunakan data.loc [] adalah pendekatan standar yang saya gunakan dengan pandas dataRrames.

Dengan Pengindeksan Boolean atau seleksi logis, Anda melewati array atau serangkaian nilai benar/salah kepada .LOC Indexer untuk memilih baris di mana seri Anda memiliki nilai sebenarnya.

Lihat kode berikut.

# app.py

import pandas as pd

df = pd.read_csv('people.csv')
print(df.loc[df['Name'] == 'Bert']) 

Keluaran

python3 app.py
   Name Sex  Age  Height  Weight
1  Bert   M   42      68     166 

Dalam contoh di atas, pernyataan df [‘name’] == ‘Bert’] menghasilkan seri panda dengan a Benar salah nilai untuk setiap baris di ‘ df ’ DataFrame, di mana ada “ BENAR” nilai untuk baris di mana namanya ” Bert ”

Menggunakan seri Boolean True/False untuk memilih baris dalam bingkai data PANDAS – semua baris dengan nama ” Bert ” dipilih.

Python Pandas: Pilih baris berdasarkan kondisi

Mari kita pilih semua baris di mana usia sama atau lebih besar dari 40.

Lihat kode berikut.

# app.py

import pandas as pd

df = pd.read_csv('people.csv')
print(df.loc[df['Age'] > 40]) 

Keluaran

python3 app.py
    Name Sex  Age  Height  Weight
0   Alex   M   41      74     170
1   Bert   M   42      68     166
8   Ivan   M   53      72     175
10  Kate   F   47      69     139 

Pilih baris di mana ketinggian kurang dari 65 dan berat lebih besar dari 160

Lihat kode berikut.

# app.py

import pandas as pd

df = pd.read_csv('people.csv')
op = df.loc[(df['Height'] > 70) & (df['Weight'] > 160)]
print(op) 

Keluaran

python3 app.py
    Name Sex  Age  Height  Weight
0   Alex   M   41      74     170
3   Dave   M   39      72     167
8   Ivan   M   53      72     175
11  Luke   M   34      72     163
16  Quin   M   29      71     176 

Kesimpulan

Pandas DataFrame menyediakan banyak properti seperti LOC dan ILOC yang berguna untuk memilih baris. Dalam tutorial ini, kami telah melihat berbagai kondisi Boolean untuk memilih baris, kolom, dan nilai -nilai tertentu dari DataFrame.

Itu untuk tutorial ini.

Pos terkait

PANDAS ITERROWS

Baris duplikat panda

PANDAS Hapus baris

PANDAS Tambahkan baris

Indeks set panda

Artikel ini berasal dari website Winpoin, dan kemudian diterjemahkan ke bahasa indonesia, baca artikel asli disini

Leave a Reply

Your email address will not be published. Required fields are marked *