Kursus
Anda tidak harus terpaku pada data yang diberikan. Sebagai gantinya, Anda dapat menambahkan kolom baru ke sebuah DataFrame. Hal ini punya banyak sebutan, seperti transformasi, mutasi, dan rekayasa fitur.
Anda dapat membuat kolom baru dari nol, namun sering kali kolom tersebut diturunkan dari kolom lain, misalnya dengan menjumlahkan kolom-kolom atau mengubah satuannya.
Menurunkan Kolom
Menggunakan dataset anjing, misalkan Anda ingin menambahkan kolom baru ke DataFrame yang berisi tinggi setiap anjing dalam meter, bukan sentimeter.
Di sisi kiri tanda sama dengan, Anda menggunakan tanda kurung siku dengan nama kolom baru yang ingin dibuat, dalam hal ini height_m. Di sisi kanan, Anda menuliskan perhitungannya.
dogs["height_m"] = dogs["height_cm"] / 100
print(dogs)
name breed color height_cm weight_kg date_of_birth height_m
0 Bella Labrador Brown 56 24 2013-07-01 0.56
1 Charlie Poodle Black 43 24 2016-09-16 0.43
2 Lucy Chow Chow Brown 46 24 2014-08-25 0.46
3 Cooper Schnauzer Gray 49 17 2016-09-16 0.49
4 Max Labrador Black 59 29 2016-09-16 0.59
5 Stella Chihuahua Tan 18 2 2016-09-16 0.18
6 Bernie St. Bernard White 77 74 2016-09-16 0.77
Perhatikan bahwa baik kolom yang sudah ada maupun kolom turunan sama-sama ada di dataframe yang Anda ubah.
Menambahkan Kolom
Pada contoh ini, Anda akan menghitung indeks massa tubuh anjing dan menambahkannya sebagai kolom pada dataframe. BMI adalah singkatan dari body mass index, yang dihitung dari berat dalam kilogram dibagi tinggi dalam meter kuadrat.
dogs["height_m"] = dogs["weight_kg"] / dogs["height_m"] ** 2
print(dogs.head())
name breed color height_cm weight_kg date_of_birth height_m bmi
0 Bella Labrador Brown 56 24 2013-07-01 0.56 76.530612
1 Charlie Poodle Black 43 24 2016-09-16 0.43 129.799892
2 Lucy Chow Chow Brown 46 24 2014-08-25 0.46 113.421550
3 Cooper Schnauzer Gray 49 17 2016-09-16 0.49 70.803832
4 Max Labrador Black 59 29 2016-09-16 0.59 83.309394
Sekali lagi, kolom baru berada di sisi kiri tanda sama dengan, namun kali ini perhitungannya melibatkan dua kolom.
Menambahkan Kolom dengan Banyak Manipulasi
Kekuatan sesungguhnya pandas muncul saat Anda menggabungkan semua keterampilan yang telah dipelajari sejauh ini. Mari kita cari nama-nama anjing yang kurus dan tinggi.
Pertama, untuk mendefinisikan anjing yang kurus, ambil subset anjing yang memiliki BMI kurang dari 100. Selanjutnya, urutkan tinggi dalam urutan menurun untuk menempatkan anjing kurus tertinggi di bagian atas.
Terakhir, kali ini Anda hanya akan menyimpan kolom-kolom yang Anda minati.
bmi_lt_100 = dogs[dogs["bmi"] < 100]
bmi_lt_100_height = bmi_lt_100.short_values("height_cm", ascending=False)
bmi_lt_100_height[["name", "height_cm", "bmi"]]
name height_cm bmi
4 Max 59 83.309394
0 Bella 56 76.530612
3 Cooper 49 70.803832
5 Stella 18 61.728395
Di sini, Anda dapat melihat bahwa Max adalah anjing tertinggi dengan BMI di bawah 100.
Contoh Interaktif
Pada contoh di bawah, Anda menambahkan kolom baru ke DataFrame homelessness bernama total yang berisi penjumlahan kolom individuals dan family_members. Lalu, tambahkan kolom lain ke homelessness bernama p_individuals yang berisi proporsi tunawisma di tiap negara bagian yang merupakan individu. Terakhir, cetak dataframe homelessness.
# Add total col as sum of individuals and family_members
homelessness["total"] = homelessness["individuals"] + homelessness["family_members"]
# Add p_individuals col as proportion of individuals
homelessness["p_individuals"] = homelessness["individuals"] / homelessness["total"]
# See the result
print(homelessness)
Saat kita menjalankan kode di atas, hasilnya sebagai berikut:
region state individuals family_members state_pop total p_individuals
0 East South Central Alabama 2570.0 864.0 4887681 3434.0 0.748
1 Pacific Alaska 1434.0 582.0 735139 2016.0 0.711
2 Mountain Arizona 7259.0 2606.0 7158024 9865.0 0.736
3 West South Central Arkansas 2280.0 432.0 3009733 2712.0 0.841
4 Pacific California 109008.0 20964.0 39461588 129972.0 0.8
...
48 South Atlantic West Virginia 1021.0 222.0 1804291 1243.0 0.821
49 East North Central Wisconsin 2740.0 2167.0 5807406 4907.0 0.558
50 Mountain Wyoming 434.0 205.0 577601 639.0 0.679
Lihat juga tutorial DataCamp tentang Cara Menghapus Kolom di Pandas.
Untuk mempelajari lebih lanjut tentang menambahkan kolom baru di pandas, silakan lihat video dari kursus kami Data Manipulation with pandas.
Konten ini diambil dari kursus DataCamp Data Manipulation with pandas oleh Maggie Matsui dan Richie Cotton.
