Membuat DataFrames
Buat DataFrames dari kamus berisi daftar, daftar berisi kamus, dan array NumPy, lalu periksa shape, columns, dan dtypes
Membuat DataFrames adalah pelajaran Pandas & NumPy Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Pandas & NumPy Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Pandas & NumPy Academy mencakup 4 pelajaran total.
Apa Itu DataFrame?
DataFrame adalah struktur data dua dimensi yang ukurannya dapat diubah dan memiliki label—pada dasarnya berupa tabel dengan baris dan kolom, mirip spreadsheet atau tabel SQL. Setiap kolom merupakan Pandas Series yang menggunakan indeks baris yang sama. DataFrames dapat menampung kolom dengan dtype berbeda, sehingga sangat cocok untuk kumpulan data dunia nyata yang memadukan angka, teks, dan tanggal.
import pandas as pd
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Carol'],
'age': [30, 25, 35],
'score': [88.5, 72.0, 95.3]})
print(df)Membuat dari Dict Berisi List
Cara paling umum untuk membuat DataFrame adalah dari dict berisi list: kunci menjadi nama kolom dan list menjadi nilai kolom. Semua list harus memiliki panjang yang sama. Indeks baris secara bawaan dimulai dari 0, 1, 2, ... kecuali Anda menetapkannya dengan index=. Pola ini mencerminkan cara data CSV sering direpresentasikan dalam Python.
import pandas as pd
df = pd.DataFrame({
'city': ['Berlin', 'Paris', 'Rome'],
'pop': [3.6, 2.2, 2.8],
'country': ['DE', 'FR', 'IT']
})
print(df.shape) # (3, 3)
print(df.dtypes)Membuat dari List Berisi Dict
Anda juga dapat memberikan list berisi dict, dengan setiap dict mewakili satu baris. Kunci yang tidak ada dalam dict mana pun akan menghasilkan NaN untuk kolom tersebut. Format ini umum digunakan saat menerima API JSON yang mengembalikan daftar objek catatan. Pandas secara otomatis menyelaraskan semua kunci di seluruh dict untuk membentuk kumpulan kolom.
import pandas as pd
rows = [
{'name': 'Alice', 'age': 30, 'dept': 'Eng'},
{'name': 'Bob', 'age': 25}, # 'dept' missing -> NaN
{'name': 'Carol', 'age': 35, 'dept': 'HR'}
]
df = pd.DataFrame(rows)
print(df)Membuat dari Array NumPy
Memberikan array NumPy 2-D akan membuat DataFrame dengan nama kolom bilangan bulat (0, 1, 2, ...) dan RangeIndex secara bawaan. Berikan columns= dan index= untuk menambahkan label yang bermakna. Ini merupakan penghubung antara komputasi numerik NumPy dan analisis data berlabel Pandas.
import pandas as pd
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
df = pd.DataFrame(arr,
columns=['x', 'y', 'z'],
index=['r1', 'r2', 'r3'])
print(df)Menetapkan Indeks Khusus Saat Pembuatan
Parameter index= menetapkan label baris saat DataFrame dibuat. Pilihan yang umum mencakup string tanggal, ID, atau nama kategori yang membuat pencarian baris lebih bermakna. Indeks yang dipilih dengan baik membuat akses .loc lebih intuitif dan memungkinkan operasi deret waktu yang canggih ketika indeksnya berupa DatetimeIndex.
import pandas as pd
df = pd.DataFrame(
{'revenue': [100, 200, 150], 'costs': [80, 160, 90]},
index=['Jan', 'Feb', 'Mar']
)
print(df)
print(df.loc['Feb']) # select row 'Feb'Memeriksa Kolom, dtype, dan Indeks
Tiga atribut dapat langsung memberi tahu Anda struktur DataFrame: df.columns memberikan Index berisi nama kolom, df.dtypes mengembalikan Series yang memetakan setiap kolom ke dtype-nya, dan df.index menjelaskan label baris. Inilah pemeriksaan pertama yang perlu dilakukan pada DataFrame baru untuk memahami data yang Anda miliki sebelum mengubahnya.
import pandas as pd
df = pd.DataFrame({'a': [1, 2], 'b': [3.0, 4.0], 'c': ['x', 'y']})
print(df.columns) # Index(['a', 'b', 'c'], dtype='object')
print(df.dtypes)
# a int64
# b float64
# c object
print(df.index) # RangeIndex(start=0, stop=2, step=1)Menentukan Urutan Kolom
Saat membuat DataFrame dari dict, urutan kolom mengikuti urutan penyisipan dict (Python 3.7+). Jika Anda memerlukan urutan tertentu, berikan parameter columns= dengan daftar nama kolom. Nama yang tidak ada dalam data akan menghasilkan kolom NaN; nama yang ada dalam data tetapi tidak ada dalam daftar akan dikeluarkan. Dengan demikian, Anda dapat memilih dan mengurutkan kolom saat pembuatan.
import pandas as pd
data = {'c': [3, 6], 'a': [1, 4], 'b': [2, 5]}
df = pd.DataFrame(data, columns=['a', 'b', 'c'])
print(df.columns.tolist()) # ['a', 'b', 'c']Membuat dari Dict Berisi Series
Memberikan dict berisi Pandas Series akan menyelaraskan data berdasarkan gabungan semua indeks. Jika suatu Series tidak memiliki label yang terdapat pada Series lain, sel hasilnya akan berupa NaN. Ini adalah metode pembuatan yang paling memperhatikan indeks dan digunakan saat menggabungkan kolom yang dihitung secara terpisah dan mungkin memiliki jumlah baris atau label yang berbeda.
import pandas as pd
s1 = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
s2 = pd.Series([10, 20], index=['b', 'c'])
df = pd.DataFrame({'col1': s1, 'col2': s2})
print(df)
# col1 col2
# a 1.0 NaN
# b 2.0 10.0
# c 3.0 20.0shape, len, dan size
df.shape mengembalikan tuple (nrows, ncols). len(df) mengembalikan jumlah baris. df.size mengembalikan jumlah total sel (baris × kolom). Ini adalah pemeriksaan kewajaran tercepat setelah memuat data untuk memastikan Anda menerima jumlah catatan yang diharapkan dan tidak ada kolom yang terhapus tanpa diketahui.
import pandas as pd
df = pd.DataFrame({'a': range(5), 'b': range(5), 'c': range(5)})
print(df.shape) # (5, 3)
print(len(df)) # 5
print(df.size) # 15 (5 rows x 3 cols)Membuat DataFrame Kosong
Anda dapat membuat DataFrame kosong dengan nama kolom dan dtype tertentu untuk digunakan sebagai templat atau penampung. Tambahkan baris dengan pd.concat([df, new_row])m. Menentukan dtype saat pembuatan mencegah inferensi tipe yang mahal ketika baris ditambahkan kemudian. DataFrame kosong juga berguna sebagai data awal dalam perulangan pengumpulan data secara iteratif.
import pandas as pd
df = pd.DataFrame(columns=['name', 'score'])
new_row = pd.DataFrame([{'name': 'Alice', 'score': 90}])
df = pd.concat([df, new_row], ignore_index=True)
print(df)Menyalin DataFrame
Menetapkan DataFrame ke variabel baru akan membuat referensi, bukan salinan—mengubah salah satunya akan mengubah yang lain. Gunakan df.copy() untuk membuat salinan yang berdiri sendiri. Hal ini penting sebelum melakukan transformasi yang tidak ingin diterapkan pada data asli, atau ketika Anda ingin menyimpan cadangan sebelum pembersihan sambil membuat versi yang telah dibersihkan.
import pandas as pd
original = pd.DataFrame({'a': [1, 2, 3]})
ref = original # same object!
copy = original.copy() # independent copy
ref['a'] = 99
print(original['a'].tolist()) # [99 99 99] -- ref modified original
print(copy['a'].tolist()) # [1, 2, 3] -- copy unchangedPemeriksaan Cepat
Uji pemahaman Anda tentang pembuatan DataFrame dari pelajaran ini.
Ringkasan Pelajaran
Dalam pelajaran ini Anda telah mempelajari: DataFrames dapat dibuat dari dict berisi list, list berisi dict, atau array NumPy, atribut columns, dtypes, dan index menjelaskan struktur tabel, dan df.copy() diperlukan untuk mendapatkan salinan yang berdiri sendiri, bukan referensi. Selanjutnya kita memilih kolom dan baris tertentu menggunakan notasi kurung siku, .loc, dan .iloc.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Membuat DataFrames” gratis?
Ya — teks lengkap “Membuat DataFrames” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Pandas & NumPy Academy, upgrade ke CoddyKit PRO. Kursus Pandas & NumPy Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Membuat DataFrames”?
Buat DataFrames dari kamus berisi daftar, daftar berisi kamus, dan array NumPy, lalu periksa shape, columns, dan dtypes Kamu berlatih Pandas & NumPy Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Pandas & NumPy Academy?
Tidak diperlukan pengalaman sebelumnya. Pandas & NumPy Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Membuat DataFrames” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Pandas & NumPy Academy ini?
Ya. Setiap pelajaran Pandas & NumPy Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.