Cara menggunakan PANDAD di Python

Dalam bahasa pemrograman Python, struktur data yang paling dasar adalah urutan atau daftar. Setiap elemen berurutan akan diberi nomor posisi atau indeks. Indeks pertama dalam daftar adalah nol, indeks kedua adalah satu dan seterusnya

Python memiliki enam jenis urutan bawaan, tetapi yang paling umum adalah daftar dan tupel. Ada beberapa hal yang dapat Anda lakukan dengan semua jenis daftar. Operasi ini meliputi pengindeksan, pemotongan, penjumlahan, perkalian, dan pemeriksaan keanggotaan. Selain itu, Python memiliki fungsi bawaan untuk menemukan panjang daftar dan menemukan elemen terbesar dan terkecil

Membuat Daftar Python

Daftar adalah tipe data paling serbaguna yang tersedia di Python, yang dapat ditulis sebagai daftar nilai (item) yang dipisahkan koma di antara tanda kurung siku. Hal penting tentang daftar adalah item dalam daftar tidak boleh memiliki jenis yang sama

Membuat daftar sangat sederhana, cukup masukkan berbagai nilai yang dipisahkan koma di antara tanda kurung siku. Di bawah ini adalah contoh sederhana membuat daftar dengan Python

#Contoh sederhana pembuatan list pada bahasa pemrograman python
list1 = ['kimia', 'fisika', 1993, 2017]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]

Akses Nilai Dalam Daftar Python

Untuk mengakses nilai dalam daftar python, gunakan tanda kurung siku untuk mengiris sepanjang indeks atau indeks untuk mendapatkan nilai yang tersedia pada indeks tersebut

Berikut adalah contoh cara mengakses nilai dalam daftar python

#Cara mengakses nilai di dalam list Python

list1 = ['fisika', 'kimia', 1993, 2017]
list2 = [1, 2, 3, 4, 5, 6, 7 ]

print ("list1[0]: ", list1[0])
print ("list2[1:5]: ", list2[1:5])
_

Setelah Anda mengeksekusi kode di atas, hasilnya akan seperti di bawah ini

list1[0]: fisika list2[1:5]: [2, 3, 4, 5]

Anda dapat memperbarui satu atau lebih nilai dalam daftar dengan memberikan potongan di sisi kiri operator penugasan, dan Anda dapat menambahkan nilai ke daftar dengan metode append (). Sebagai contoh

list = ['fisika', 'kimia', 1993, 2017]
print ("Nilai ada pada index 2 : ", list[2])

list[2] = 2001
print ("Nilai baru ada pada index 2 : ", list[2])

Hapus Nilai Dalam Daftar Python

Untuk menghapus nilai dalam daftar python, Anda dapat menggunakan salah satu pernyataan del jika Anda tahu persis elemen mana yang Anda hapus. Anda dapat menggunakan metode remove() jika Anda tidak tahu item mana yang harus dihapus. Sebagai contoh

#Contoh cara menghapus nilai pada list python

list = ['fisika', 'kimia', 1993, 2017]

print (list)
del list[2]
print ("Setelah dihapus nilai pada index 2 : ", list)

Operasi Dasar pada Daftar Python

Daftar Python merespons operator + dan * seperti string;

Bahkan, daftar menanggapi semua operasi urutan umum yang kami terapkan pada String di bab sebelumnya. Di bawah ini adalah tabel daftar operasi dasar pada daftar python

Python ExpressionHasilPenjelasanlen([1, 2, 3, 4])4Length[1, 2, 3] + [4, 5, 6][1, 2, 3, 4, 5, 6]Concatenation
#Cara mengakses nilai di dalam list Python

list1 = ['fisika', 'kimia', 1993, 2017]
list2 = [1, 2, 3, 4, 5, 6, 7 ]

print ("list1[0]: ", list1[0])
print ("list2[1:5]: ", list2[1:5])
0
#Cara mengakses nilai di dalam list Python

list1 = ['fisika', 'kimia', 1993, 2017]
list2 = [1, 2, 3, 4, 5, 6, 7 ]

print ("list1[0]: ", list1[0])
print ("list2[1:5]: ", list2[1:5])
1Repetition
#Cara mengakses nilai di dalam list Python

list1 = ['fisika', 'kimia', 1993, 2017]
list2 = [1, 2, 3, 4, 5, 6, 7 ]

print ("list1[0]: ", list1[0])
print ("list2[1:5]: ", list2[1:5])
2
#Cara mengakses nilai di dalam list Python

list1 = ['fisika', 'kimia', 1993, 2017]
list2 = [1, 2, 3, 4, 5, 6, 7 ]

print ("list1[0]: ", list1[0])
print ("list2[1:5]: ", list2[1:5])
3Membership
#Cara mengakses nilai di dalam list Python

list1 = ['fisika', 'kimia', 1993, 2017]
list2 = [1, 2, 3, 4, 5, 6, 7 ]

print ("list1[0]: ", list1[0])
print ("list2[1:5]: ", list2[1:5])
4
#Cara mengakses nilai di dalam list Python

list1 = ['fisika', 'kimia', 1993, 2017]
list2 = [1, 2, 3, 4, 5, 6, 7 ]

print ("list1[0]: ", list1[0])
print ("list2[1:5]: ", list2[1:5])
5Iteration

Pengindeksan, Pemotongan, dan Matriks pada List Python

Karena daftar adalah urutan, pengindeksan dan pemotongan bekerja dengan cara yang sama untuk daftar seperti yang dilakukan untuk String

Cara melakukan wrangling data menggunakan bahasa pemrograman Python. Data Wrangling adalah langkah penting untuk menjadi Ilmu Data

Foto oleh h heyerlein di Unsplash

H apa kabar Sysinfo? . Kali ini howdy sysinfo akan berbagi ilmu dan pengalaman pribadi tentang Data Wrangling dengan menggunakan bahasa pemrograman Python. Modul ini tersedia dari Kursus Daring Akademi DQLab, silakan kunjungi situs web resmi untuk mengakses kursus yang lengkap dan terstruktur.

Perselisihan data adalah proses pembersihan dan penyatuan kelompok data (kumpulan data) yang kompleks dan berantakan untuk memudahkan akses dan analisis. Dengan jumlah data dan sumber data yang tumbuh dan berkembang pesat, penting untuk mengatur sejumlah besar data yang tersedia agar dapat dianalisis. Proses ini biasanya mencakup konversi/pemetaan data manual dari satu bentuk mentah ke format lain untuk memungkinkan konsumsi dan pengaturan data yang lebih nyaman.

Dalam modul ini kita akan mempelajari materi berikut

  1. Cara membaca data menggunakan library panda
  2. Data hilang hingga normalisasi data

Langsung ke materi pertama, simak baik-baik ya

Cara Membaca Data Menggunakan Panda

Pandas merupakan salah satu library alternatif yang sering digunakan untuk proses wrangling data. Pandas adalah toolkit yang ampuh untuk analisis data awal dan identifikasi struktur dataset dengan Python. Mengaktifkan Panda sangat mudah dengan python. Lakukan saja impor seperti di bawah ini

import pandas as pdcsv_data = pd.read_csv(“https://dqlab-dataset.s3-ap-southeast-1.amazonaws.com/shopping_data.csv")print(csv_data.head())
_5

Untuk mempermudah akses dan mempersingkat penamaan biasanya import panda menggunakan inisial seperti dibawah ini

import pandas as pdcsv_data = pd.read_csv(“https://dqlab-dataset.s3-ap-southeast-1.amazonaws.com/shopping_data.csv")print(csv_data.head())
_6

Sebagai salah satu library untuk melakukan proses awal analisis data, panda juga memiliki kemampuan untuk membaca berbagai jenis file. Ada berbagai format yang bisa dibaca panda, antara lain. txt,. csv,. tsv, dan lain-lain. Panda tidak hanya dapat membaca file, tetapi juga dapat mengubah data dari file menjadi kerangka data yang dapat diakses, dikumpulkan, dan diproses.

Contoh

import pandas as pdcsv_data = pd.read_csv("https://dqlab-dataset.s3-ap-southeast-1.amazonaws.com/shopping_data.csv")print(csv_data)

Membaca file menggunakan head()

Dalam satu kasus, data yang kita baca cukup banyak atau loadingnya lama. Untuk memastikan bahwa data kita terbaca dengan baik dan dapat menampilkan sebagian data untuk ditampilkan dengan benar, kita dapat menggunakan fungsi head()

import pandas as pdcsv_data = pd.read_csv(“https://dqlab-dataset.s3-ap-southeast-1.amazonaws.com/shopping_data.csv")print(csv_data.head())

Keluaran

Melakukan akses data kolom

Dalam analisis data ada kalanya kita hanya perlu mengakses sebagian data dan tidak perlu menampilkan semua data. Di panda kita bisa melakukan akses dalam berbagai kebutuhan. Mulai dari hanya mengakses kolom tertentu atau baris tertentu. Pada sesi ini kita akan mencoba mengakses beberapa kolom tertentu pada sebuah dataset

Hal pertama yang harus dilakukan untuk mengakses kolom adalah mengetahui nama kolom

import pandas as pd

csv_data = pd.read_csv("https://dqlab-dataset.s3-ap-southeast-1.amazonaws.com/shopping_data.csv")

print(csv_data.columns)
Output :Index(['CustomerID', 'Genre', 'Age', 'Annual Income (k$)',
'Spending Score (1-100)'],
dtype='object')

Contoh

import pandas as pd

csv_data = pd.read_csv("https://dqlab-dataset.s3-ap-southeast-1.amazonaws.com/shopping_data.csv")

print(csv_data['Age'])
Output :0 19
1 21
2 20
3 23
4 31
5 22
6 35
7 23
8 64
9 30
10 67
11 35
12 58
13 24
14 37
15 22
16 35
17 20
18 52
19 35
20 35
21 25
22 46
23 31
24 54
25 29
26 45
27 35
28 40
29 23
..
170 40
171 28
172 36
173 36
174 52
175 30
176 58
177 27
178 59
179 35
180 37
181 32
182 46
183 29
184 41
185 30
186 54
187 28
188 41
189 36
190 34
191 32
192 33
193 38
194 47
195 35
196 45
197 32
198 32
199 30
Name: Age, Length: 200, dtype: int64

Lakukan akses data melalui baris

Selain mengakses data melalui kolom, dengan menggunakan panda Anda juga dapat mengakses menggunakan baris. Berbeda dengan akses melalui kolom, fungsi untuk menampilkan data dari baris adalah fungsi. iloc[i] di mana [i] menunjukkan urutan baris yang akan ditampilkan yang indeksnya dimulai dari 0

import pandas as pd

csv_data = pd.read_csv("https://dqlab-dataset.s3-ap-southeast-1.amazonaws.com/shopping_data.csv")

print(csv_data.iloc[5])
Ouput :CustomerID 6
Genre Female
Age 22
Annual Income (k$) 17
Spending Score (1-100) 76
Name: 5, dtype: object

Menampilkan data dari baris dan kolom tertentu

Tidak hanya dengan menentukan dari kolom dan baris, dengan menggunakan panda kita juga dapat memanggil data dari baris dan kolom tertentu sekaligus

import pandas as pdcsv_data = pd.read_csv("https://dqlab-dataset.s3-ap-southeast-1.amazonaws.com/shopping_data.csv")
print(csv_data['Age'].iloc[1])
print("Cuplikan Dataset:")
print(csv_data.head())

Keluaran

Menampilkan data dalam rentang tertentu

Setelah menampilkan sekelompok data, bagaimana jika Anda ingin menampilkan data dari baris ke-5 hingga ke-20 dari sebuah dataset?

import pandas as pd

csv_data = pd.read_csv("https://dqlab-dataset.s3-ap-southeast-1.amazonaws.com/shopping_data.csv")
print("Menampilkan data ke 5 sampai kurang dari 10 :")
print(csv_data['Age'].iloc[5:10])
Output :Menampilkan data ke 5 sampai kurang dari 10 :
5 22
6 35
7 23
8 64
9 30
Name: Age, dtype: int64

Menampilkan informasi statistik dengan Numpy

Mengetahui informasi statistik pada suatu data sangatlah penting. Mulai dari sebaran data, nilai max atau min, hingga standar deviasi sebuah dataset. Jika datanya dibawah 10, mungkin masih bisa dilakukan secara manual. Namun, bayangkan jika datanya sudah mencapai ratusan bahkan ribuan. Jelas tidak mungkin melakukannya secara manual. Oleh karena itu pentingnya fungsi description() di panda. Fungsi description() memungkinkan untuk mengetahui informasi statistik dari kumpulan data dengan cepat

import pandas as pd

csv_data = pd.read_csv("https://dqlab-dataset.s3-ap-southeast-1.amazonaws.com/shopping_data.csv")

print(csv_data.describe(include='all'))
Output :CustomerID Genre Age Annual Income (k$) \
count 200.000000 200 200.000000 200.000000
unique NaN 2 NaN NaN
top NaN Female NaN NaN
freq NaN 112 NaN NaN
mean 100.500000 NaN 38.850000 60.560000
std 57.879185 NaN 13.969007 26.264721
min 1.000000 NaN 18.000000 15.000000
25% 50.750000 NaN 28.750000 41.500000
50% 100.500000 NaN 36.000000 61.500000
75% 150.250000 NaN 49.000000 78.000000
max 200.000000 NaN 70.000000 137.000000

Spending Score (1-100)
count 200.000000
unique NaN
top NaN
freq NaN
mean 50.200000
std 25.823522
min 1.000000
25% 34.750000
50% 50.000000
75% 73.000000
max 99.000000

Catatan. Banyak nilai NaN muncul. Hal itu dikarenakan dataset tersebut memiliki format data string yang pada akhirnya menghasilkan format NaN

Untuk meminimalkannya dan hanya memfilter data numerik, gunakan include=['O'], di mana fungsi tersebut akan mengabaikan data non-numerik untuk diproses

import pandas as pd

csv_data = pd.read_csv("https://dqlab-dataset.s3-ap-southeast-1.amazonaws.com/shopping_data.csv")

print(csv_data.describe(exclude=['O']))

Keluaran

Data Hilang dan Normalisasi Data

Pada suatu dataset, ada kalanya data yang akan kita kelola tidak lengkap. Hal ini tentunya akan mempersulit atau membuat hasil analisis menjadi tidak akurat. Menangani data yang hilang biasanya disebut Menangani Nilai yang Hilang. Ada banyak cara untuk menangani nilai kosong ini. Sebagai seorang data scientist yang berurusan dengan real data, solusi pertama yang sangat kami rekomendasikan untuk kasus seperti ini adalah dengan melakukan trace back ke sumber data atau review record. Apalagi jika data tersebut berasal dari catatan manusia. Sangat disarankan untuk menelusuri kembali agar tidak terjadi kesalahan saat sudah sampai pada titik analisa. Selain solusi untuk menelusuri kembali ke sumber data, dalam ilmu data juga terdapat beberapa metode yang dapat digunakan sebagai solusi untuk menangani kasus ini.

Melakukan pemeriksaan untuk nilai NULL yang ada

Dengan menggunakan fungsi pandas, kita tidak perlu melihat setiap baris data untuk mengetahui apakah ada nilai kosong atau NULL/NAN dalam sebuah dataset. Bayangkan jika kita memiliki 1000 baris data. Apakah kita harus melihat semua baris data? . Oleh karena itu di panda disediakan fungsi untuk memeriksa apakah ada data kosong

import pandas as pd

csv_data = pd.read_csv("http://academy.dqlab.id/dataset/shopping_data.csv")
print(csv_data.isnull().values.any())
Output :False

Catatan. data yang digunakan adalah data lengkap, sehingga output yang dihasilkan adalah False

Solusi untuk mengisi Missing Value

Sebelum mengetahui lebih lanjut tentang Solusi yang umum dalam kasus ilmu data. Sebuah skema yang biasanya sering terjadi dalam pengelolaan data

Pada diagram di atas perlu diketahui bahwa kasus kehilangan data dapat diatasi dengan berbagai cara. Bahkan, menghapus data juga merupakan solusi yang dapat menjadi pilihan ketika dirasa mengisi nilai kosong akan memberikan pengaruh yang kurang menguntungkan bagi analisis, atau ketika pertimbangan data yang dihapus atau data yang hilang kecil dan tidak memberikan kontribusi terlalu banyak untuk analisis yang akan dilakukan. Penghapusan data bisa langsung pada baris data atau langsung pada kolom data

Solusi kedua adalah menggunakan imputasi (mengisi data kosong) tergantung masalahnya. Khusus untuk masalah yang berkaitan dengan peramalan atau forecasting tergantung data yang tersedia (lebih lengkap bisa dilihat pada gambar). Khusus untuk masalah umum tergantung jenis datanya. Jika data kategorikal atau string yang hilang dapat menggunakan hubungan antar kolom dengan Regresi Logistik, jika numerik dapat menggunakan statistik sederhana dan regresi linier. Pada sesi ini kita akan mencoba mengatasi data yang hilang dengan statistik sederhana, Mean dan Median

Isi dengan Berarti

Salah satu metode yang bisa dikatakan solusi umum dalam kasus ilmu data umum adalah mengisi data kosong dengan menggunakan rata-rata dari setiap kolom. Pertama kita harus menentukan mean dari setiap kolom. Di panda ada fungsi mean() untuk menentukan nilai rata-rata dari setiap kolom. Mean itu sendiri digunakan untuk data yang memiliki beberapa sifat outlier/berisik/anomali dalam distribusi data serta isinya

import pandas as pdcsv_data = pd.read_csv(“https://dqlab-dataset.s3-ap-southeast-1.amazonaws.com/shopping_data.csv")print(csv_data.head())
_0

Fungsi mean sendiri berfungsi untuk menampilkan nilai mean (rata-rata) dari setiap kolom. Nilai ini nantinya akan mengisi nilai kosong dari dataset yang memiliki kasus missing value. Untuk mengisi nilai kosong menggunakan fungsi fillna()

import pandas as pdcsv_data = pd.read_csv(“https://dqlab-dataset.s3-ap-southeast-1.amazonaws.com/shopping_data.csv")print(csv_data.head())
_1

Keluaran

Mengisi dengan Median

Berbeda dengan mean pada sesi sebelumnya, median digunakan untuk data yang memiliki outlier yang kuat. Mengapa median yang dipilih? . Dalam beberapa kasus, data outlier dianggap mengganggu dan sering dianggap noise karena dapat mempengaruhi sebaran kelas dan mengganggu analisis clustering.

import pandas as pdcsv_data = pd.read_csv(“https://dqlab-dataset.s3-ap-southeast-1.amazonaws.com/shopping_data.csv")print(csv_data.head())
_2

Normalisasi Data

Terkadang dalam beberapa kasus, 1 kolom dan kolom lainnya memiliki skala yang berbeda. Seperti tangkapan layar di bawah ini

Antara Usia dan Masa Kerja masih memiliki rentang yang sama dalam skala puluhan. Namun jika kolom Usia dan Waktu Kerja dibandingkan dengan Gaji memiliki rentang nilai yang berbeda, dimana Usia dan Waktu Kerja memiliki rentang nilai puluhan dan Gaji memiliki rentang nilai jutaan. Kelihatannya sederhana, tetapi ini bisa menjadi masalah besar dalam hal pengelompokan atau klasifikasi. Masukkan kasus K-means yang telah dibahas sebelumnya. K-means merupakan salah satu algoritma clustering yang menggunakan perhitungan jarak dalam prosesnya. Sekarang coba bayangkan

Jika tidak ada normalisasi, maka jelas perhitungan kmeans di atas akan bergantung pada Gaji. Mengapa? . Berapa pun usia dan masa kerja seseorang, tidak akan mempengaruhi penilaian suatu perusahaan. Perbedaan skala pada setiap kolom merupakan hal yang sangat wajar dan sering terjadi dan inilah pentingnya normalisasi. Normalisasi sangat penting, terutama bagi mereka yang menggunakan perhitungan jarak menggunakan metode apapun

Metode normalisasi

Ada berbagai metode normalisasi, seperti MinMax, Zscore, Decimal Scaling, Sigmoid, dan Softmax. Penggunaannya bergantung pada kebutuhan dataset dan jenis analisis yang dilakukan

Min-Maks

Metode Min-Max merupakan metode yang dapat dibayangkan karena termasuk metode normalisasi yang linier dengan data aslinya. Namun, metode ini dapat menyebabkan keluar batas dalam beberapa kasus

Mengapa bisa terjadi di luar batas? . Secara otomatis perhitungan yang diterapkan pada data yang sudah didapat tadi harus diulangi lagi dengan data baru yang masuk atau data baru yang memiliki nilai maksimum/minimum yang melebihi tadi tidak dapat diproses. Karena kekurangan ini, MinMax tidak cocok untuk analisis sistem waktu nyata/berkembang. Dimungkinkan dalam kasus di mana ada kasus di luar batas di MinMax

MinMax sangat dianjurkan untuk kasus berdasarkan analisis kerangka waktu dan peramalan. Perhitungan dari metode ini cukup mereduksi data asli dengan nilai minimum fitur, kemudian hasilnya dikalikan dari hasil pengurangan nilai maksimum baru dengan nilai minimum baru kemudian dibagi dengan nilai max dan min dari fitur tersebut. data di setiap fitur terakhir ditambah nilai rata-rata baru

Z-Skor

Zscore merupakan metode yang sering digunakan dalam berbagai penelitian berbasis data mining atau data science. Z-score adalah metode normalisasi berdasarkan mean (nilai rata-rata) dan standar deviasi (standar deviasi) dari data. Mengapa Z-Score begitu populer? . Z-Score sangat dinamis dalam melakukan perhitungan normalisasi. Kelemahan dari Z-Score adalah proses akan berulang jika ada data baru yang masuk. Selain itu, elemen yang dibutuhkan untuk perhitungan Z-Score juga memerlukan proses yang cukup panjang, baik standar deviasi maupun rata-rata tiap kolomnya.

Penskalaan Desimal

Softmax

Softmax adalah metode normalisasi ekspansi transformasi linier. Kisaran output adalah 0–1. Metode ini sangat berguna ketika data yang tersedia melibatkan data outlier

Sigmoid

Sigmoidal adalah metode normalisasi yang menormalkan data secara nonlinier ke dalam rentang -1 hingga 1 dengan menggunakan fungsi sigmoid. Metode ini sangat berguna ketika data yang tersedia melibatkan data outlier. Data outlier adalah data yang jauh dari jangkauan data lainnya

Berlatih Normalisasi menggunakan Scikit Learn di Python

Scikit Learn adalah pustaka python yang digunakan untuk pembelajaran mesin dan ilmu data. Salah satu perpustakaan yang selalu menjadi favorit dan komunitasnya sangat kuat. Scikit-learn sendiri tidak hanya untuk analitik, tetapi juga untuk pra-pemrosesan, pemilihan fitur, dan proses analisis lainnya

import pandas as pdcsv_data = pd.read_csv(“https://dqlab-dataset.s3-ap-southeast-1.amazonaws.com/shopping_data.csv")print(csv_data.head())
_3

X adalah matriks yang berisi fitur dataset yang akan digunakan dalam machine learning, baik untuk regresi, klasifikasi, clustering, maupun normalisasi.

Dalam kasus kami, X berisi fitur yang digunakan untuk dinormalisasi dengan teknik min-max scaler

Kemudian

import pandas as pdcsv_data = pd.read_csv(“https://dqlab-dataset.s3-ap-southeast-1.amazonaws.com/shopping_data.csv")print(csv_data.head())
_4

Keluaran

Untuk materi pada modul ini sudah selesai, pada modul selanjutnya saya akan membagikan modul pandas, pada materi kita akan membahas Pandas Library secara detail dan mendalam, ikuti dan baca baik-baik langkah demi langkahnya, semoga menambah ilmu semoga bermanfaat untuk kita semua, dan jangan lupa kunjungi website DQLab Academy untuk mendapatkan materi pembelajaran yang lengkap dan terstruktur lengkap dengan case study dan live code

Panda di Python untuk apa?

Nah dalam hal ini Pandas Library berarti library open source dalam bahasa pemrograman Python yang sering digunakan untuk mengolah data, mulai dari pembersihan data, manipulasi data, hingga analisis data< /a> .

Apa itu DataFrame Pandas?

Pandas DataFrame adalah struktur data 2 Dimensi . Data disusun seperti tabel yang berisi baris dan kolom, sehingga memudahkan kueri atau mengakses data. Baris mewakili catatan dan kolom mewakili bidang.

Untuk apa numpy?

NumPy (Python Numerik) adalah pustaka Python yang berfokus pada komputasi ilmiah . Itu mudah. Numpy menyediakan fungsi siap pakai untuk memudahkan kita dalam melakukan perhitungan ilmiah seperti matriks, aljabar, statistika, dan lain sebagainya.

Apa perbedaan antara Seri dan DataFrame?

Seri disamakan dengan array satu dimensi dengan cara yang sama seperti array numpy, satu-satunya perbedaan adalah ia memiliki indeks dan kita dapat mengontrol indeks setiap elemen. Sedangkan data frame adalah array dua dimensi dengan baris dan kolom.