Cara Mengelola Missing Data Frame Dengan Pandas

Subscribe Dengan Account Google Untuk Mendapatkan Artikel Terbaru !
Cara Mengelola Missing Data Frame Dengan Pandas
Thinking, Fast and Slow

Thinking, Fast and Slow

Daniel Kahneman adalah salah satu pemikir paling penting abad ini. Gagasannya berdampak mendalam dan luas di berbagai bidang termasuk ekonomi, pengobatan, dan politik. Dalam buku yang sangat dinanti-nantikan ini, Kahneman menjelaskan dua sistem yang mendorong cara kita berpikir. Sistem 1 bersifat cepat, intuitif, dan emosional; Sistem 2 lebih pelan, lebih bertujuan, dan lebih logis.

Buy

Seringkali kita menjumpai kondisi dimana data yang kita cari tidak ada, atau bahkan data itu hilang.

Kondisi ini butuh penanda agar data yang disajikan mudah dipahami oleh user lain.

Pandas sebagai pengolah data pada bahasa python mampu menghadirkan penanganan data missing.

Karena data datang dalam berbagai bentuk yang berbeda, pandas sangat fleksibel dalam menangani data yang hilang.

Sementara NaN adalah penanda nilai hilang default. Untuk alasan kecepatan dan kenyamanan komputasi kita harus dapat dengan mudah mendeteksi nilai ini dengan data dari berbagai jenis: floating point, integer, boolean, dan objek lainya.

Namun, dalam banyak kasus, Python None akan muncul dan itu perlu di beri penanda spesifik dengan NaN.

Sebelum melanjutkan tutorial ini pastikan bahwa Anda telah berada pada mode environment.

Jika Anda ingin tau lebih jauh tentang konfigurasi python virtual environment Anda dapat membacanya di sini : Konfigurasi python virtual environment

Selanjutnya pastikan bahwa anda telah menginstall libary pandas, jika belum Anda bisa menginstallnya dengan PIP:

pip install pandas

1) Value missing Data


a) Menambahkan value pada kolom tertentu


Ketika kita menggunakan data frame dan ingin menambahkan value pada kolom data yang kosong, dengan pandas kamu bisa mengaturnya nilai dari kolom data tersebut.
Sebagi contoh perhatikan kode berikut:

import pandas as pd
import numpy as np

df = pd.DataFrame(
np.random.randn(5, 3),
index=["a", "c", "e", "f", "h"],
columns=["one", "two", "three"],
)

df["four"] = "bar"
df["five"] = df["one"] > 0
print(df)
df2 = df.reindex(["a", "b", "c", "d", "e", "f", "g", "h"])
print(df2)

b) Pendeteksian nilai dengan fungsi isna() dan notna()


Untuk mempermudah pendeteksian nilai yang hilang di berbagai tipe array yang berbeda, Pandas menyediakan fungsi isna() dan notna(), yang juga merupakan metode pada objek Seri dan DataFrame.
Perhatikan kode berikut ini :

import pandas as pd
import numpy as np

df = pd.DataFrame(
np.random.randn(5, 3),
index=["a", "c", "e", "f", "h"],
columns=["one", "two", "three"],
)

df["four"] = "bar"
df["five"] = df["one"] > 0
df2 = df.reindex(["a", "b", "c", "d", "e", "f", "g", "h"])
print(df2["one"])
print(pd.isna(df2["one"]))
print(df2["four"].notna())
print(df2.isna())

2) Integer dtypes and missing data


Karena NaN adalah penanda bagi kolom yang tidak memiliki nilai. Pandas menyediakan array integer nullable, yang dapat digunakan dengan cara eksplisit menggunakan dtype:

import pandas as pd
import numpy as np
print(pd.Series([1, 2, np.nan, 4], dtype=pd.Int64Dtype()))

 

3) Datetimes


Untuk tipe datetime64[ns], NaT mewakili nilai yang hilang. Ini adalah nilai sentinel semu yang dapat diwakili oleh NumPy dalam dtype tunggal (datetime64[ns]).

Objek pandas menyediakan kompatibilitas antara NaT dan NaN.

import pandas as pd
import numpy as np

df = pd.DataFrame(
np.random.randn(5, 3),
index=["a", "c", "e", "f", "h"],
columns=["one", "two", "three"],
)

df["four"] = "bar"
df["five"] = df["one"] > 0
df2 = df.copy()
df2["timestamp"] = pd.Timestamp("20120101")
print(df2)

 

4) Inserting missing data

5) Calculations with missing data

6) NA values in GroupBy

7) Cleaning / filling missing data

8) Filling missing values: fillna

9) Filling with a PandasObject

10) Dropping axis labels with missing data: dropna

11) Interpolation

12) Replacing generic values

13) String/regular expression replacement

14) Numeric replacement

15) Missing data casting rules and indexing

16) Experimental NA scalar to denote missing values

*** nantikan ulasan berikutnya dari artikel ini

Baca artikel lainya :


sumber referensi : pandas.pydata.org