Cara menormalkan kolom di pandas dataframe


Seringkali Anda mungkin ingin menormalkan nilai data dari satu atau lebih kolom di pandas DataFrame.

Tutorial ini menjelaskan dua cara untuk melakukan ini:

1. Normalisasi Min-Maks

  • Tujuan: Mengonversi setiap nilai data menjadi nilai antara 0 dan 1.
  • Rumus: Nilai baru = (nilai – min) / (maks – min)

2. Normalisasi rata-rata

  • Tujuan: Menskalakan nilai sedemikian rupa sehingga rata-rata semua nilai adalah 0 dan std. dev. adalah 1.
  • Rumus: Nilai baru = (nilai – rata-rata) / (standar deviasi)

Mari kita lihat contoh cara menggunakan setiap metode pada pandas DataFrame.

Contoh 1: normalisasi min-maks

Misalkan kita memiliki panda DataFrame berikut:

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 9, 12],
                   'rebounds': [11, 8, 10, 6, 6]}) 

#view DataFrame
print (df)

   points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6

Kita dapat menggunakan kode berikut untuk menerapkan normalisasi min-maks ke setiap kolom DataFrame:

 (df-df. min ())/(df. max ()-df. min ())

        points assists rebounds
0 1.000000 0.000000 1.0
1 0.000000 0.285714 0.4
2 0.230769 0.285714 0.8
3 0.153846 0.571429 0.0
4 0.538462 1.000000 0.0

Nilai maksimal di setiap kolom sekarang adalah 1 dan nilai min di setiap kolom sekarang menjadi 0 , dengan semua nilai lainnya antara 0 dan 1.

Contoh 2: normalisasi rata-rata

Mari kita asumsikan lagi bahwa kita memiliki pandas DataFrame berikut:

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 9, 12],
                   'rebounds': [11, 8, 10, 6, 6]}) 

#view DataFrame
print (df)

   points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6

Kita dapat menggunakan kode berikut untuk menerapkan normalisasi rata-rata ke setiap kolom di DataFrame:

 (df- df.mean ())/df. std ()

        points assists rebounds
0 1.554057 -1.133893 1.227881
1 -0.971286 -0.377964 -0.087706
2 -0.388514 -0.377964 0.789352
3 -0.582772 0.377964 -0.964764
4 0.388514 1.511858 -0.964764

Nilai-nilai pada setiap kolom kini dinormalisasi sedemikian rupa sehingga rata-rata nilai pada setiap kolom adalah 0 dan simpangan baku nilai pada setiap kolom adalah 1.

Jika titik data tertentu memiliki nilai normalisasi lebih besar dari 0, hal ini menunjukkan bahwa titik data tersebut lebih besar dari rata-rata kolomnya. Sebaliknya, nilai yang dinormalisasi kurang dari 0 menunjukkan bahwa titik data berada di bawah rata-rata kolomnya.

Sumber daya tambahan

Pandas: cara mengelompokkan dan menggabungkan beberapa kolom
Cara memfilter Pandas DataFrame pada berbagai kondisi
Cara menghitung nilai yang hilang di Pandas DataFrame

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *