Pandas DataFrame’leri Python’da veri manipülasyonu için olmazsa olmazdır. Yeni sütun eklemek yaygın bir işlemdir ve Pandas bunu gerçekleştirmek için birkaç verimli yol sunar. Bu makale, durumunuz için en iyi yaklaşımı seçmenize yardımcı olmak üzere güçlü ve zayıf yönlerini vurgulayarak dört temel yöntemi ele almaktadır.
İçerik Tablosu
[] Operatörü Yöntemi: Hızlı ve Kolay Yol
Bu, mevcut verilere veya basit hesaplamalara dayalı sütun eklemek için ideal olan en basit yöntemdir. Köşeli parantez kullanarak yeni bir sütuna doğrudan değer atarsınız.
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 28]}
df = pd.DataFrame(data)
df['City'] = ['New York', 'London', 'Paris']
print(df)
Sınırlamalar: Bu yöntem belirli bir konuma ekleme yapamaz ve yeni sütun verilerinin DataFrame uzunluğuyla eşleşmesini gerektirir.
df.insert()
Yöntemi: Hassas Sütun Yerleşimi
df.insert()
daha fazla kontrol sağlar ve sütunun indeksini (konumunu) belirtmenize olanak tanır. Üç argüman alır: konum, sütun adı ve veriler.
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 28]}
df = pd.DataFrame(data)
df.insert(1, 'City', ['New York', 'London', 'Paris'])
print(df)
En uygun olduğu durumlar: Sütun sırasının kritik olduğu durumlar.
df.assign()
Yöntemi: Birden Fazla Sütunu Verimli Şekilde Ekleme
df.assign()
, birden fazla sütunu aynı anda eklemek veya hesaplamalara dayalı yeni sütunlar oluşturmak için özellikle kullanışlıdır. Önemli olarak, orijinalini değiştirmeden *yeni* bir DataFrame döndürür.
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 28]}
df = pd.DataFrame(data)
df = df.assign(City=['New York', 'London', 'Paris'], Age_Squared=df['Age']**2)
print(df)
En uygun olduğu durumlar: Birden fazla sütun ekleme ve hesaplanmış sütunlar; değişmezliği, yanlışlıkla veri kaybını önler.
df.loc()
Yöntemi: Koşullu Sütun Oluşturma
df.loc()
, satır seçimi ve Boole indekslemesine dayalı koşullu sütun oluşturmaya izin vererek en fazla esnekliği sunar.
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 28]}
df = pd.DataFrame(data)
df.loc[df['Age'] < 30, 'Age_Group'] = 'Young'
df.loc[df['Age'] >= 30, 'Age_Group'] = 'Older'
print(df)
En uygun olduğu durumlar: Karmaşık koşullara dayalı sütun ekleme; Boole indekslemesine aşinalık gerektirir.
Sonuç: En uygun yöntem, belirli ihtiyaçlarınıza bağlıdır. [] operatörü basit eklemeler için hızlıdır, df.insert()
sütun konumunu kontrol eder, df.assign()
birden fazla veya hesaplanmış sütunları verimli bir şekilde işler ve df.loc()
koşullu sütun oluşturmayı sağlar. Göreviniz için okunabilirlik ve işlevselliği en iyi şekilde dengeleyen yöntemi seçin.