mengecek keberadaan item dengan any()

Mengecek Keberadaan Item dengan any() di Python

Posted by

any() function di Python berguna untuk mengecek keberadaan suatu item di sebuah objek iterable seperti list, tuple, dictionary, dan sebagainya. Fungsi ini juga dapat digunakan untuk mengecek item pada dataframe Pandas.

Output yang dikeluarkan adalah berupa Boolean, True atau False. Jika ada minimal satu item yang dimaksud (atau bernilai True) pada objek atau dataframe, any() akan mengembalikan nilai True. Sebaliknya, jika pada objek atau dataframe tersebut tidak mengandung item yang dimaksud (atau bernilai False), maka any() akan mengembalikan nilai False.

Mari kita lihat contoh penggunaan any().

Contoh penggunaan any() function di Python

Misalnya kita memiliki beberapa list seperti di bawah ini.

list1 = [20, 10, True]
list2 = [False, 0]
list3 = [False, 0, 1]

Lalu sekarang kita coba terapkan any() pada tiga list tersebut.

print(any(list1))
print(any(list2))
print(any(list2))

Output dari kode di atas kira-kira seperti ini.

  • True
  • False
  • True

Pada list1, ada tiga item yang semuanya bernilai True. Nilai numerik berupa integer atau float selain 0 bernilai True. Jadi saat kita print(any(list1)) akan mengeluarkan output True.

Baca Juga: 20+ Function di Pandas Python Yang Perlu Diketahui Pemula

Dua item pada list2 bernilai False. Seperti yang sudah disebutkan di atas, 0 berarti False. Jadi list2 mengembalikan nilai False saat di-run.

list3 terdiri dari tiga item yang bernilai True dan False. Item False dan 0 bernilai False, sedangkan item 1 bernilai True. Karena ada salah satu item yang bernilai True, maka outputnya adalah True.

Mengecek item tertentu pada dataframe dengan any()

Kita juga dapat menggunakan any() untuk membantu analisis data dengan dataframe Pandas. Sebelumnya, mari kita buat dataframe Pandas seperti di bawah ini.

import pandas as pd
import numpy as np

data = {'Mata Pelajaran': ['Fisika', 'Matematika', 'Biologi', 'Kimia', 'Geografi'],
        'Nilai Rata-rata': [71.6, np.nan, 82, 69.8, 83.5]}

df = pd.DataFrame(data)
df

Output:

Kemudian misalnya kita ingin mengecek apakah ada item ‘Fisika’ di kolom ‘Mata Pelajaran’, kita dapat menggunakan any() seperti kode di bawah ini.

any(df['Mata Pelajaran'] == 'Fisika')

Kode di atas akan menghasilkan output True karena memang ada item ‘Fisika’. Namun, jika kita memasukkan ‘Bahasa Inggris’ misalnya, maka akan menghasilkan False.

Baca Juga: Membuat Dataframe dari List dengan zip() Function di Python

Kita juga dapat mengecek apakah ada item yang bernilai lebih besar atau lebih kecil dari suatu bilangan pada kolom numerik.

Identifikasi missing values dengan any()

any() juga dapat digunakan untuk mengecek keberadaan missing values yang berformat NaN. Untuk melakukannya, kita dapat mengkombinasikannya dengan function isna() ataupun isnull().

Jika kita hanya menggunakan isna() atau isnull() saja, output yang dihasilkan adalah untuk tiap elemen seperti di bawah ini.

Jika kita menghendaki hanya satu output, kita dapat menambahkan any() setelahnya.

df['Nilai Rata-rata'].isnull().any()

Output dari kode di atas adalah True, karena salah satu dari item pada kolom ‘Nilai Rata-rata’ bernilai True alias ada satu missing values.

Identifikasi data duplikat dengan any()

Selain identifikasi missing values, kita juga dapat mengidentifikasi adanya data yang duplikat di dataframe Pandas. Sebelumnya mari kita modifikasi sedikit dataframe di atas agar memiliki nilai yang sama dengan mengganti missing values di kolom ‘Nilai Rata-rata’ dengan nilai 82.

df['Nilai Rata-rata'].replace(np.nan, 82, inplace=True)
df

Output:

Jika kita lihat, sekarang kita memiliki nilai yang sama pada kolom ‘Nilai Rata-rata’ yaitu ada dua nilai 82.0.

Baca Juga: Penjelasan Parameter inplace=True di Pandas Untuk Pemula

Untuk mengidentifikasi data duplikat, kita dapat menggunakan function duplicated() yang nantinya akan menghasilkan Boolean True atau False untuk tiap item. Namun, kita dapat menambahkan any() untuk hanya mengetahui apakah ada atau tidak nilai duplikat pada dataframe. Perhatikan kode berikut.

df.duplicated().any()

Kode di atas digunakan untuk mengetahui keberadaan data duplikat secara keseluruhan di dataframe, maksudnya apakah ada baris data yang keseluruhan nilainya sama persis untuk tiap kolom. Karena tidak ada, maka kode di atas akan menghasilkan False.

Kita juga dapat secara spesifik mengecek data duplikat pada kolom tertentu seperti kode di bawah ini.

df['Nilai Rata-rata'].duplicated().any()

Jika di-run, kode di atas akan menghasilkan output True karena ada dua nilai 82.0.

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!