Veri Bilimi & Veri Manipülasyonu - Pandas

DataFrame Birleştirme - concat() Yöntemi

Yayın tarihi :20-Ara-21
Bölüm kodlarını ve/veya veri setlerini indir.

DataFrame birleştirme işlemi için concat() fonksiyonu kullanılır. 

Söz dizimi:.concat(objs, axis=0, join='outer', ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=False, copy=True)

  • objs, Seriler veya DataFrame nesneleri
  • axis, Alt alta birleştirmek için axis=0, yan yana birleştirmek için axis=1 ifadesi kullanılır. Default olarak axis=0 dır.
  • join, nesneleri birleştirmenin yolu, iki farklı değer alır: "inner", "outer", default olarak outer'dir.
  • ignore_index, index değerlerini güncel tablo için ayarlamak için kullanılır. True olduğunda yeni index değerleri alır.
  • keys, birleştirilen tabloda birleşim alanları belirtilmek istenirse kullanılır. (Örn: keys=["df1","df2"])
  • verify_integrity, birleştirilen nesnelerde aynı değerlerin(kopya değerlerin) olup olmadığını kontrol amaçlı kullanılır.
  • sort, hizalama yapmak için kullanılır.

Örneklerde kullanılmak üzere "df1" ve "df2" isminde iki farklı DataFrame oluşturalım.

import pandas as pd
import numpy as np
df1=pd.DataFrame(np.random.randint(1,10,(5,3)),columns=["S1","S2","S3"])
df2=pd.DataFrame(np.random.randint(1,10,(3,3)),columns=["S1","S2","S3"])
df1

Çıktı:

df2

Çıktı:

1.Sütun isimleri aynı iki tabloyu alt alta birleştirme

#iki tablo alt alta birleştirildi ama index değerleri eski değerlerde kaldı
df=pd.concat([df1,df2])
df

Çıktı:

#index değerlerini de güncel şekilde sıralamak istersek ignore_index=True komutu kullanılır
df=pd.concat([df1,df2],ignore_index=True)
df

Çıktı:

df=pd.concat([df1,df2],keys=["df1:","df2:"])
df

Çıktı:

2.Sütun isimleri farklı iki tabloyu alt alta birleştirme

#df2 için bir sütunun ismini değiştirelim 
df2.columns=['S1', 'S2', 'S4']
df2

Çıktı:

#1.tabloda S4 sütunu ve ikinci tabloda da S3 sütunu olmadığı için NaN değereler oluştu.
pd.concat([df1,df2],keys=["df1:","df2:"])

Çıktı:

#sadece eşleşen sütun isimlerine göre birleşim
pd.concat([df1,df2],join="inner",ignore_index=True)

Çıktı:

3.Yan yana DataFrame birleştirme

#df2 sütun isimlerini değiştirelim
df2.columns=['S4', 'S5', 'S6']
df2

Çıktı:

df=pd.concat([df1,df2],axis=1)
df

Çıktı:

4.DataFrame ve Series bileştirme

mySeries=pd.Series([1,2,3,4,5],name="S4")
mySeries

Çıktı:

0    1
1    2
2    3
3    4
4    5
Name: S4, dtype: int64
pd.concat([df1,mySeries],axis=1)

Çıktı:


Paylaş:

Yorum Yap (*Yorumunuza kod eklemek isterseniz Kod Parçacığı Ekle butonuna tıklayarak ekleyebilirsiniz.)

Yorumlar

Henüz hiç yorum yapılmamış, ilk yorum yapan sen ol.