map()
adalah salah satu built-in function di Python yang dapat digunakan untuk menerapkan sebuah fungsi pada semua elemen dari objek yang bertipe iterable seperti list, tuple, dan sebagainya. Hasil dari map()
adalah berupa objek map yang dapat dikonversi kembali menjadi objek list, tuple, dan lainnya.
Untuk pengolahan data di Pandas, kita dapat menggunakan map()
pada sebuah kolom tertentu. map()
tidak dapat digunakan langsung pada seluruh dataframe karena map()
hanya bekerja pada series atau array satu dimensi.
Penggunaan map() terhadap list
List merupakan salah satu objek iterable yang dapat diaplikasikan function map()
. Mari kita coba terapkan map()
pada sebuah list yang berisi bilangan untuk membuat seluruh elemen pada list tersebut menjadi pangkat dua. Hasil dari map()
tersebut akan disimpan sebagai list baru.
Misalnya kita memiliki list seperti di bawah ini.
list_bilangan = [1, 2, 3, 4, 5]
Baca Juga: 2 Teknik Reduksi Dimensi Populer di Python
Kemudian kita memiliki fungsi pangkat_dua
dimana akan mengembalikan nilai pangkat dua dari sebuah bilangan.
def pangkat_dua(x):
return x*x
Setelah itu, kita terapkan function map()
seperti di bawah ini. Hasilnya disimpan pada variabel bilangan_pangkat_dua
.
bilangan_pangkat_dua = map(pangkat_dua, list_bilangan)
Hasil dari map()
tersebut tidak dapat langsung di-print. Jika ingin melihat hasilnya, kita harus mengkonversi hasil map()
tersebut ke dalam sebuah list atau objek iterable lainnya. Misalnya di sini kita akan mengkonversinya menjadi sebuah list dan menyimpannya ke dalam variabel list_pangkat_dua
.
list_pangkat_dua = list(bilangan_pangkat_dua)
Baca Juga: Menjumlahkan Data Berdasarkan Kategori di Python
Jika kita print list_pangkat_dua
, outputnya akan berupa bilangan pangkat dua dari list_bilangan
.
print(list_pangkat_dua)
Output:
[1, 4, 9, 16, 25]
![contoh penggunaan map() dengan list](https://ilmudatapy.com/wp-content/uploads/2021/02/map-1.png)
Penggunaan map() terhadap tuple
Penggunaan map()
terhadap objek tuple tidak jauh berbeda dengan list. Perhatikan contoh berikut.
tuple_bilangan = (100, 289, 164, 335, 222)
def sepuluh_persen(x):
return x/100*10
hasil_sepuluh_persen = map(sepuluh_persen, tuple_bilangan)
tuple_hasil = tuple(hasil_sepuluh_persen)
print(tuple_hasil)
Output:
(10.0, 28.900000000000002, 16.4, 33.5, 22.200000000000003)
Pada contoh di atas, hasil map()
dikonversi menjadi objek bertipe tuple.
![contoh penggunaan map() dengan tuple](https://ilmudatapy.com/wp-content/uploads/2021/02/map-2.png)
Penggunaan map() untuk objek string
Kita juga dapat menggunakan map()
untuk objek bertipe string.
Misalnya kita memiliki sebuah list yang berisi string dan ingin membuat string menjadi huruf kapital.
string = ['Selamat Pagi', 'Halo']
def kapital(s):
return s.upper()
huruf_kapital = map(kapital, string)
print(list(huruf_kapital))
Output:
[‘SELAMAT PAGI’, ‘HALO’]
![contoh penggunaan map() dengan string](https://ilmudatapy.com/wp-content/uploads/2021/02/map-3.png)
Penggunaan map() di Pandas
Untuk analisis data, kita juga dapat menggunakan map()
pada dataframe Pandas. Namun, penggunaannya terbatas yaitu hanya untuk satu kolom karena map()
hanya bekerjapada series atau array satu dimensi.
Mari kita coba menggunakan map()
di Pandas.
Sebelumnya mari kita buat dataframe-nya terlebih dahulu.
import pandas as pd
data = {'kategori': ['A', 'B', 'C', 'B', 'A', 'A'],
'bilangan': [103, 548, 987, 781, 332, 190]}
df = pd.DataFrame(data)
df
Output:
![contoh dataframe](https://ilmudatapy.com/wp-content/uploads/2021/02/map-4.png)
Kemudian kita buat objek map()
untuk mengalikan kolom bilangan dengan 2.
Baca Juga: Mengecek Keberadaan Item dengan any() di Python
Disini saya akan menggunakan lambda
sehingga tidak perlu membuat fungsi seperti contoh sebelumnya. Perhatikan kode berikut.
map_bilangan = map(lambda x: x*2, df['bilangan'])
lambda x: x*2
adalah perintah yang akan kita aplikasikan untuk df['bilangan']
.
![](https://ilmudatapy.com/wp-content/uploads/2021/02/map-6.png)
Lalu kita simpan hasil map()
tersebut sebagai list pada df['bilangan']
.
df['bilangan'] = list(map_bilangan)
df
Output:
![contoh dataframe setelah penerapan map()](https://ilmudatapy.com/wp-content/uploads/2021/02/map-5.png)
Sekarang semua nilai pada kolom bilangan
sudah dikalikan dua.
Semoga bermanfaat!
Jika Anda yang sedang belajar data science atau mengolah data dengan bahasa pemrograman Python namun masih suka bingung menulis kode Python-nya, kami telah menyusun Paket E-modul Data Science dengan Python yang didesain khusus untuk pemula dengan penjelasan bahasa Indonesia yang lengkap untuk setiap blok kode-nya. Dapatkan sekarang juga dengan klik di sini!