Pandas & NumPy Academy · Pelajaran

Menambahkan dan Menghapus Kolom

Tambahkan kolom hasil perhitungan, ubah nama kolom yang ada, dan hapus kolom atau baris yang tidak diperlukan dengan drop()

Pelajaran 3 dari 413 langkah

Menambahkan dan Menghapus Kolom adalah pelajaran Pandas & NumPy Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Pandas & NumPy Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Pandas & NumPy Academy mencakup 4 pelajaran total.

Menambahkan Kolom Baru melalui Penetapan

Cara paling sederhana untuk menambahkan kolom adalah dengan penugasan langsung: df['new_col'] = values. Sisi kanan dapat berupa skalar (disebarkan ke semua baris), daftar dengan panjang yang sama, array NumPy, Series Pandas (diselaraskan berdasarkan indeks), atau ekspresi terhitung yang melibatkan kolom yang sudah ada. Kolom baru ditambahkan di sebelah kanan DataFrame.

import pandas as pd

df = pd.DataFrame({'price': [10.0, 20.0, 15.0], 'qty': [3, 5, 2]})
df['revenue'] = df['price'] * df['qty']
df['currency'] = 'USD'
print(df)

Rekayasa Fitur: Kolom Terhitung

Salah satu operasi DataFrame yang paling umum adalah membuat fitur turunan dari kolom yang sudah ada. Anda dapat menghitung total berjalan, rasio, penanda, atau menyandikan nilai kategoris dalam satu ekspresi tervectorisasi. Kolom terhitung ini diperbarui secara otomatis ketika kolom sumber berubah jika Anda menghitungnya kembali, sehingga pipeline rekayasa fitur mudah direproduksi.

import pandas as pd

df = pd.DataFrame({'salary': [50000, 80000, 60000],
                   'bonus': [5000, 12000, 7000]})
df['total_comp'] = df['salary'] + df['bonus']
df['bonus_pct'] = (df['bonus'] / df['salary'] * 100).round(1)
print(df)

Menggunakan assign() untuk Perantaian Metode

df.assign(new_col=expression) mengembalikan DataFrame baru dengan kolom tambahan tanpa mengubah yang asli. Tidak seperti penugasan langsung, cara ini berpadu secara alami dalam perantaian metode. Anda dapat menambahkan beberapa kolom dalam satu pemanggilan, dan ekspresi kolom berikutnya dapat merujuk pada kolom sebelumnya yang didefinisikan dalam pemanggilan assign() yang sama menggunakan fungsi lambda.

import pandas as pd

df = pd.DataFrame({'x': [1, 2, 3], 'y': [4, 5, 6]})
result = (df
    .assign(sum_xy=lambda d: d['x'] + d['y'])
    .assign(ratio=lambda d: d['x'] / d['sum_xy'])
)
print(result)

Mengganti Nama Kolom dengan rename()

df.rename(columns={'old': 'new'}) mengembalikan DataFrame baru dengan nama kolom yang telah diganti. Berikan dict untuk mengganti nama kolom tertentu tanpa memengaruhi kolom lainnya. Anda juga dapat mengganti nama berdasarkan fungsi: df.rename(columns=str.upper) mengubah semua nama kolom menjadi huruf besar. Selalu ganti nama sebelum menggabungkan DataFrames dari sumber yang berbeda untuk memastikan kolom kunci selaras.

import pandas as pd

df = pd.DataFrame({'a': [1, 2], 'b': [3, 4], 'c': [5, 6]})
renamed = df.rename(columns={'a': 'alpha', 'b': 'beta'})
print(renamed.columns.tolist())   # ['alpha', 'beta', 'c']

# Rename all columns to uppercase
print(df.rename(columns=str.upper).columns.tolist())  # ['A', 'B', 'C']

Membersihkan Nama Kolom

Nama kolom di dunia nyata sering memiliki spasi, karakter khusus, atau penggunaan huruf besar-kecil yang tidak konsisten. Langkah prapemrosesan yang umum adalah menormalkannya: menghapus spasi di awal dan akhir, mengubahnya menjadi huruf kecil, dan mengganti spasi dengan garis bawah. Dengan begitu, kolom dapat diakses melalui notasi titik dan masalah penggunaan tanda kutip dalam string kueri mirip SQL dapat dihindari.

import pandas as pd

df = pd.DataFrame(columns=['First Name', 'Last Name', 'Email Address'])
df.columns = (df.columns
    .str.strip()
    .str.lower()
    .str.replace(' ', '_', regex=False)
)
print(df.columns.tolist())  # ['first_name', 'last_name', 'email_address']

Menyisipkan Kolom pada Posisi Tertentu

df.insert(loc, column, value) menyisipkan kolom pada posisi bilangan bulat loc, lalu menggeser kolom lainnya ke kanan. Ini berguna ketika Anda ingin kolom baru muncul di sebelah kolom yang terkait, bukan di bagian akhir. Operasi ini mengubah DataFrame secara langsung, berbeda dengan assign().

import pandas as pd

df = pd.DataFrame({'name': ['A', 'B'], 'score': [80, 90]})
df.insert(1, 'grade', ['B', 'A'])
print(df)
#   name grade  score
# 0    A     B     80
# 1    B     A     90

Menghapus Kolom dengan drop()

df.drop(columns=['col1', 'col2']) mengembalikan DataFrame baru tanpa kolom tersebut. Sintaks lama df.drop(['col1', 'col2'], axis=1) juga berfungsi, tetapi kurang mudah dibaca. Untuk menghapus secara langsung, berikan inplace=True. Dalam pipeline, selalu utamakan pengembalian DataFrame baru agar data asli tetap tersedia untuk perbandingan atau pemulihan.

import pandas as pd

df = pd.DataFrame({'a': [1,2], 'b': [3,4], 'c': [5,6], 'd': [7,8]})
cleaned = df.drop(columns=['b', 'd'])
print(cleaned.columns.tolist())  # ['a', 'c']

Menghapus Baris dengan drop()

df.drop(index=['r1', 'r2']) menghapus baris berdasarkan label. df.drop([0, 2]) menghapus baris 0 dan 2 dari indeks bilangan bulat bawaan. Penghapusan baris umum digunakan untuk menghapus rekaman buruk yang diketahui, pencilan, atau baris pengujian setelah pembersihan data. Utamakan pengindeksan boolean untuk penghapusan berdasarkan kondisi agar kode tetap mudah dibaca.

import pandas as pd

df = pd.DataFrame({'x': [10, 20, 30, 40]}, index=['a', 'b', 'c', 'd'])
trimmed = df.drop(index=['b', 'd'])
print(trimmed)
#     x
# a  10
# c  30

pop() untuk Menghapus dan Mengembalikan Kolom

df.pop('col') menghapus kolom dari DataFrame secara langsung dan mengembalikannya sebagai Series. Ini berguna ketika Anda perlu mengekstrak kolom target (label) dari matriks fitur — Anda menghapusnya dari DataFrame dan menyimpannya secara terpisah untuk digunakan sebagai variabel y dalam model.

import pandas as pd

df = pd.DataFrame({'feature1': [1,2], 'feature2': [3,4], 'target': [0,1]})
y = df.pop('target')   # removes column and returns as Series
X = df                 # remaining features
print(y.tolist())      # [0, 1]
print(X.columns.tolist())  # ['feature1', 'feature2']

Mengurutkan Ulang Kolom

Untuk mengurutkan ulang kolom, pilih kolom sesuai urutan yang diinginkan menggunakan df[['col3', 'col1', 'col2']]. Untuk DataFrames besar ketika Anda hanya ingin memindahkan beberapa kolom, hitung urutan yang diinginkan secara terprogram: pindahkan kolom prioritas ke bagian depan dan biarkan kolom lainnya mengikuti. Ini merupakan langkah umum dalam pelaporan sebelum mengekspor ke Excel.

import pandas as pd

df = pd.DataFrame({'id': [1,2], 'score': [80,90], 'name': ['A','B']})
# Move 'name' and 'id' to front
cols = ['name', 'id'] + [c for c in df.columns if c not in ['name', 'id']]
df = df[cols]
print(df.columns.tolist())  # ['name', 'id', 'score']

Memperbarui Nilai Kolom yang Sudah Ada

Memperbarui semua nilai pada kolom yang sudah ada menggunakan sintaks penugasan yang sama seperti saat menambahkan kolom baru: df['col'] = new_values. Gunakan df.loc[mask, 'col'] = value untuk memperbarui hanya baris yang memenuhi kondisi. Jangan pernah menggunakan pengindeksan berantai untuk pembaruan — selalu gunakan .loc untuk menghindari SettingWithCopyWarning.

import pandas as pd

df = pd.DataFrame({'name': ['Alice', 'Bob', 'Carol'], 'score': [45, 80, 92]})
# Set scores below 50 to 50 (floor)
df.loc[df['score'] < 50, 'score'] = 50
print(df['score'].tolist())  # [50, 80, 92]

Pemeriksaan Singkat

Uji pemahaman Anda tentang penambahan dan penghapusan kolom dari pelajaran ini.

Ringkasan Pelajaran

Dalam pelajaran ini Anda mempelajari: kolom baru ditambahkan melalui penugasan atau assign() yang cocok untuk perantaian metode, rename() mengubah nama kolom tanpa mengubah data, dan drop() menghapus kolom atau baris serta secara bawaan mengembalikan DataFrame baru. Selanjutnya, kita menggunakan head(), tail(), info(), dan describe() untuk membuat profil DataFrame apa pun dengan cepat.

Gratis untuk memulai

Belajar Python dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Menambahkan dan Menghapus Kolom” gratis?

Ya — teks lengkap “Menambahkan dan Menghapus Kolom” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Pandas & NumPy Academy, upgrade ke CoddyKit PRO. Kursus Pandas & NumPy Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Menambahkan dan Menghapus Kolom”?

Tambahkan kolom hasil perhitungan, ubah nama kolom yang ada, dan hapus kolom atau baris yang tidak diperlukan dengan drop() Kamu berlatih Pandas & NumPy Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Pandas & NumPy Academy?

Tidak diperlukan pengalaman sebelumnya. Pandas & NumPy Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Menambahkan dan Menghapus Kolom” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Pandas & NumPy Academy ini?

Ya. Setiap pelajaran Pandas & NumPy Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Membuat DataFrames
  2. Memilih Kolom dan Baris
  3. Menambahkan dan Menghapus Kolom
  4. Pemeriksaan Dasar DataFrame
← Kembali ke Pandas & NumPy Academy