Pandas - insert

insert() Metodu

pandas.DataFrame.insert() metodu, bir DataFrame'e belirtilen bir konuma yeni bir sütun eklemek için kullanılır. Bu işlem, orijinal DataFrame üzerinde gerçekleşir (yerinde değişiklik yapar).

Amacı

Sözdizimi:

DataFrame.insert(loc, column, value, allow_duplicates=<no_default>)

Parametreler

  1. loc (int):

  2. Sütunun ekleneceği konumun dizini (indeksi).

  3. 0 <= loc <= len(columns) koşulunu sağlamalıdır. Örneğin, 1, ilk sütundan sonra ekleneceği anlamına gelir.

  4. column (str, sayı veya karma nesne):

  5. Eklenecek yeni sütunun etiketi (adı).

  6. value (Scalar, Series veya dizi benzeri):

  7. Eklenecek yeni sütunun içeriği.

  8. Eğer Series tipinde bir değer verilirse, mevcut DataFrame'in indeksi ile hizalanır.

  9. allow_duplicates (bool, opsiyonel, varsayılan False):

  10. Eğer False ise (varsayılan), eklenmek istenen sütun etiketi (column) zaten varsa bir ValueError hatası verir.

  11. Eğer True olarak ayarlanırsa, aynı isimde birden fazla sütun oluşturulmasına izin verir.

Basit Kullanım Örneği

Aşağıdaki örnek, col1 ve col2 sütunlarına sahip bir DataFrame'e 1 konumuna (yani col1'den sonra) newcol adında yeni bir sütun eklemeyi göstermektedir:

Orijinal DataFrame;

df = pd.DataFrame({'sütun1': [1, 2], 'cosütun2': [3, 4]})
print("Orijinal DataFrame:")
print(df)

Çıktı:

Orijinal DataFrame:
   sütun1  sütun2
0      1        3
1      2        4
sütun1 sütun2
0 1 3
1 2 4
  1. konuma "yeni_sütun" sütununu ekleme
df.insert(1, "yeni_sütun", [99, 99])

print("Ekleme sonrası DataFrame:")
print(df)

Çıktı:

Ekleme sonrası DataFrame:
   col1  yeni_sütun  col2
0     1          99     3
1     2          99     4
sütun1 yeni_sütun sütun2
0 1 99 3
1 2 99 4

İndeks Hizalama Örneği

Eğer value olarak bir Series kullanılırsa, pandas DataFrame'in indeksi ile hizalama yapar:

df'ye 'sütun0' sütununu 0. konuma ekliyoruz. Series'in indeksi [1, 2] olduğu için, 0. indekse NaN (Not a Number) atanır.

df.insert(0, "sütun0", pd.Series([5, 6], index=[1, 2])) 

print("\nSeries ile ekleme sonrası DataFrame:")
print(df)

Series ile ekleme sonrası DataFrame:

   sütun0  sütun1  yeni_sütun  sütun2
0     NaN       1          99       3
1     5.0       2          99       4
sütun0 sütun1 yeni_sütun sütun2
0 NaN 1 99 3
1 5.0 2 99 4

Not: Bu çıktı, yukarıdaki df.insert(1, "yeni_sütun", ...) işleminden sonraki df üzerinden devam eder.

Kaynak: