Cara Membuat Pandas DataFrame [Dengan Contoh]

Diterbitkan: 2022-12-08

Pelajari dasar-dasar bekerja dengan panda DataFrames: struktur data dasar di panda, pustaka manipulasi data yang andal.

Jika Anda ingin memulai analisis data dengan Python, panda adalah salah satu pustaka pertama yang harus Anda pelajari untuk digunakan. Dari mengimpor data dari berbagai sumber seperti file CSV dan database hingga menangani data yang hilang dan menganalisisnya untuk mendapatkan wawasan – panda memungkinkan, Anda melakukan semua hal di atas.

Untuk mulai menganalisis data dengan panda, Anda harus memahami struktur data fundamental dalam panda: data frames .

Dalam tutorial ini, Anda akan mempelajari dasar-dasar kerangka data panda dan metode umum untuk membuat kerangka data. Anda kemudian akan mempelajari cara memilih baris dan kolom dari kerangka data untuk mengambil subkumpulan data.

Untuk semua ini dan lebih banyak lagi, mari kita mulai.

Menginstal dan Mengimpor Panda

Karena panda adalah pustaka analisis data pihak ketiga, Anda harus menginstalnya terlebih dahulu. Direkomendasikan untuk menginstal paket eksternal di lingkungan virtual untuk proyek Anda.

Jika Anda menggunakan distribusi Anaconda dari Python, Anda dapat menggunakan conda untuk manajemen paket.

 conda install pandas

Anda juga dapat menginstal panda menggunakan pip:

 pip install pandas

Pustaka panda membutuhkan NumPy sebagai ketergantungan. Jadi jika NumPy belum terinstal, NumPy juga akan terinstal selama proses instalasi.

Setelah menginstal panda, Anda dapat mengimpornya ke lingkungan kerja Anda. Secara umum, panda diimpor dengan alias pd :

 import pandas as pd

Apa itu DataFrame di Pandas?

Apa-Itu-DataFrame-in-Pandas

Struktur data fundamental dalam panda adalah kerangka data . Bingkai data adalah larik data dua dimensi dengan indeks berlabel dan kolom bernama . Setiap kolom dalam bingkai data yang disebut seri panda , berbagi indeks yang sama.

Berikut adalah contoh bingkai data yang akan kami buat dari awal selama beberapa menit ke depan. Kerangka data ini berisi data tentang berapa banyak yang dihabiskan enam siswa dalam empat minggu.

pd-dataframe-ex

Nama-nama siswa adalah label baris. Dan kolom diberi nama 'Minggu1' hingga 'Minggu4'. Perhatikan bahwa semua kolom berbagi kumpulan label baris yang sama, juga disebut indeks .

Cara Membuat Bingkai Data Pandas

Ada beberapa cara untuk membuat bingkai data panda. Dalam tutorial ini, kita akan membahas metode berikut:

  • Membuat bingkai data dari array NumPy
  • Membuat bingkai data dari kamus Python
  • Membuat bingkai data dengan membaca file CSV

Dari NumPy Array

Mari kita buat bingkai data dari larik NumPy.

Mari kita buat array data bentuk (6,4) dengan asumsi bahwa dalam minggu tertentu, setiap siswa menghabiskan antara $0 dan $100. Fungsi randint() dari modul random NumPy mengembalikan array bilangan bulat acak dalam interval tertentu, [low,high) .

 import numpy as np np.random.seed(42) data = np.random.randint(0,101,(6,4)) print(data)
 array([[51, 92, 14, 71], [60, 20, 82, 86], [74, 74, 87, 99], [23, 2, 21, 52], [ 1, 87, 29, 37], [ 1, 63, 59, 20]])

Untuk membuat bingkai data panda, Anda bisa menggunakan konstruktor DataFrame dan meneruskan larik NumPy sebagai argumen data , seperti yang ditunjukkan:

 students_df = pd.DataFrame(data=data)

Sekarang kita dapat memanggil fungsi built-in type() untuk memeriksa tipe dari students_df . Kami melihat bahwa itu adalah objek DataFrame .

 type(students_df) # pandas.core.frame.DataFrame
 print(students_df)
panda-dataframe-01

Kami melihat bahwa secara default, kami memiliki pengindeksan rentang yang dimulai dari 0 hingga numRows – 1, dan label kolom adalah 0, 1, 2, …, numCols -1. Namun, ini mengurangi keterbacaan. Ini akan membantu untuk menambahkan nama kolom deskriptif dan label baris ke bingkai data.

Mari buat dua daftar: satu untuk menyimpan nama siswa dan satu lagi untuk menyimpan label kolom.

 students = ['Amy','Bob','Chris','Dave','Evelyn','Fanny'] cols = ['Week1','Week2','Week3','Week4']

Saat memanggil konstruktor DataFrame , Anda dapat menyetel index dan columns ke daftar label baris dan label kolom yang akan digunakan.

 students_df = pd.DataFrame(data = data,index = students,columns = cols)

Kami sekarang memiliki bingkai data students_df dengan label baris dan kolom deskriptif.

 print(students_df)
panda-dataframe-02

Untuk mendapatkan beberapa informasi dasar tentang bingkai data, seperti nilai yang hilang dan tipe data, Anda dapat memanggil metode info() pada objek bingkai data.

 students_df.info()
gambar-114

Dari Kamus Python

Anda juga dapat membuat bingkai data panda dari kamus Python.

Di sini, data_dict adalah kamus yang berisi data siswa:

  • Nama-nama siswa adalah kuncinya.
  • Setiap nilai adalah daftar berapa banyak yang dihabiskan setiap siswa dari minggu pertama hingga keempat.
 data_dict = {} students = ['Amy','Bob','Chris','Dave','Evelyn','Fanny'] for student,student_data in zip(students,data): data_dict[student] = student_data

Untuk membuat bingkai data dari kamus Python, gunakan from_dict , seperti yang ditunjukkan di bawah ini. Argumen pertama sesuai dengan kamus yang berisi data ( data_dict ). Secara default, kunci digunakan sebagai nama kolom bingkai data. Karena kami ingin menyetel kunci sebagai label baris , setel orient= 'index' .

 students_df = pd.DataFrame.from_dict(data_dict,orient='index') print(students_df)
pandas-dataframe-from-dict

Untuk mengubah nama kolom menjadi nomor minggu, kami menetapkan kolom ke daftar cols :

 students_df = pd.DataFrame.from_dict(data_dict,orient='index',columns=cols) print(students_df)
panda-dataframe-03

Baca dalam File CSV Ke dalam Pandas DataFrame

Misalkan data siswa tersedia file CSV. Anda dapat menggunakan fungsi read_csv() untuk membaca data dari file ke dalam bingkai data panda. pd.read_csv('file-path') adalah sintaks umum, di mana file-path adalah path ke file CSV. Kita dapat mengatur parameter names ke daftar nama kolom yang akan digunakan.

 students_df = pd.read_csv('/content/students.csv',names=cols)

Sekarang setelah kita mengetahui cara membuat bingkai data, mari pelajari cara memilih baris dan kolom.

Pilih Kolom dari Pandas DataFrame

Ada beberapa metode bawaan yang bisa Anda gunakan untuk memilih baris dan kolom dari bingkai data. Tutorial ini akan membahas cara paling umum untuk memilih kolom, baris, dan baris serta kolom dari bingkai data.

Memilih Satu Kolom

Untuk memilih satu kolom, Anda dapat menggunakan df_name[col_name] di mana col_name adalah string yang menunjukkan nama kolom.

Di sini, kami hanya memilih kolom 'Minggu1'.

 week1_df = students_df['Week1'] print(week1_df)
kolom tunggal

Memilih Beberapa Kolom

Untuk memilih beberapa kolom dari bingkai data, berikan daftar semua nama kolom untuk dipilih.

 odd_weeks = students_df[['Week1','Week3']] print(odd_weeks)
multi-kolom

Selain metode ini, Anda juga dapat menggunakan metode iloc() dan loc() untuk memilih kolom. Kami akan memberi kode contoh nanti.

Pilih Baris dari Pandas DataFrame

4-2

Menggunakan Metode .iloc()

Untuk memilih baris menggunakan metode iloc() , berikan indeks yang sesuai dengan semua baris sebagai daftar.

Dalam contoh ini, kami memilih baris dengan indeks ganjil.

 odd_index_rows = students_df.iloc[[1,3,5]] print(odd_index_rows)
baris ganjil

Selanjutnya, kami memilih subset dari bingkai data yang berisi baris pada indeks 0 hingga 2, titik akhir 3 dikecualikan secara default.

 slice1 = students_df.iloc[0:3] print(slice1)
pilih-baris

Menggunakan Metode .loc()

Untuk memilih baris bingkai data menggunakan metode loc() , Anda harus menentukan label yang sesuai dengan baris yang ingin Anda pilih.

 some_rows = students_df.loc[['Bob','Dave','Fanny']] print(some_rows)
beberapa baris

Jika baris bingkai data diindeks menggunakan rentang default 0, 1, 2, hingga numRows -1, maka penggunaan iloc() dan loc() keduanya setara.

Pilih Baris dan Kolom dari Pandas DataFrame

Sejauh ini, Anda telah mempelajari cara memilih baris atau kolom dari bingkai data panda. Namun, terkadang Anda perlu memilih subset dari baris dan kolom. Jadi bagaimana Anda melakukannya? Anda dapat menggunakan metode iloc() dan loc() yang telah kita bahas.

Misalnya, dalam cuplikan kode di bawah ini, kami memilih semua baris dan kolom pada indeks 2 dan 3.

 subset_df1 = students_df.iloc[:,[2,3]] print(subset_df1)
dataframe-subset

Menggunakan start:stop membuat irisan dari start up hingga tetapi tidak termasuk stop . Jadi, saat Anda mengabaikan nilai start dan stop , saat Anda mengabaikan nilai awal dan akhir, irisan dimulai dari awal—dan memanjang hingga akhir bingkai data—memilih semua baris.

Saat menggunakan metode loc() , Anda harus meneruskan label baris dan kolom yang ingin Anda pilih, seperti yang ditunjukkan:

 subset_df2 = students_df.loc[['Amy','Evelyn'],['Week1','Week3']] print(subset_df2)
df-subset

Di sini, kerangka data subset_df2 berisi catatan Amy dan Evelyn untuk Minggu1 dan Minggu3.

Kesimpulan

Berikut ulasan singkat tentang apa yang telah Anda pelajari dalam tutorial ini:

  • Setelah menginstal panda, Anda dapat mengimpornya di bawah alias pd . Untuk membuat objek bingkai data panda, Anda dapat menggunakan pd.DataFrame(data) , di mana data merujuk ke larik N-dimensi atau iterable yang berisi data. Anda dapat menentukan baris dan indeks, serta label kolom dengan menyetel parameter opsional indeks dan kolom.
  • Menggunakan pd.read_csv(path-to-the-file) membaca konten file ke dalam bingkai data.
  • Anda dapat memanggil metode info() pada objek bingkai data untuk mendapatkan informasi tentang kolom, jumlah nilai yang hilang, tipe data, dan ukuran bingkai data.
  • Untuk memilih satu kolom, gunakan df_name[col_name] , dan untuk memilih beberapa kolom, kolom tertentu, df_name[[col1,col2,...,coln]] .
  • Anda juga dapat memilih kolom dan baris menggunakan metode loc() dan iloc() .
  • Sementara metode iloc() mengambil indeks (atau irisan indeks) dari baris dan kolom untuk dipilih, metode loc() mengambil label baris dan kolom.

Anda dapat menemukan contoh yang digunakan dalam tutorial ini di notebook Colab ini.

Selanjutnya, lihat daftar buku catatan sains data kolaboratif ini.