pandalar

Pandas Python'da DataFrame'lere Nasıl Katılılır?

Pandas Python'da DataFrame'lere Nasıl Katılılır?
Pandas DataFrame, tablo biçiminde hizalanmış iki boyutlu (2B) bir veri yapısıdır. Bu DataFrame'ler concat(), merge() ve joins gibi farklı yöntemler kullanılarak birleştirilebilir. Pandalar, SQL ilişkisel veritabanına benzeyen yüksek performansa ve tam özellikli birleştirme işlemlerine sahiptir. Birleştirme işlevi kullanılarak, DataFrames nesneleri arasında birleştirme işlemleri gerçekleştirilebilir.

Bu makalede Pandas python'da birleştirme işlevinin, concat işlevinin ve farklı birleştirme işlemlerinin kullanımlarını keşfedeceğiz. Tüm örnekler pycharm editörü aracılığıyla yürütülecektir. Ayrıntılarla başlayalım!

Birleştirme İşlevinin Kullanımı

Birleştirme () işlevinin yaygın olarak kullanılan temel sözdizimi aşağıda verilmiştir:

pd.merge(df_obj1, df_obj2, how='inner', on=Yok, left_on=Yok, right_on=Yok)

Parametrelerin detaylarını açıklayalım:

İlk iki df_obj1 ve df_obj2 argümanlar, DataFrame nesnelerinin veya tablolarının adlarıdır.

Nasıl” parametresi, “sol, sağ, dış ve iç” gibi farklı birleştirme işlemleri için kullanılır. Birleştirme işlevi varsayılan olarak "iç" birleştirme işlemini kullanır.

Argüman "açık" birleştirme işleminin gerçekleştirildiği sütun adını içerir. Bu sütun, her iki DataFrame nesnesinde de bulunmalıdır.

"left_on" ve "right_on" bağımsız değişkenlerinde, "left_on", sol DataFrame'deki anahtar olarak sütun adının adıdır. "right_on", sağ DataFrame'den anahtar olarak kullanılan sütunun adıdır.

DataFrame'leri birleştirme kavramını detaylandırmak için iki DataFrame nesnesi aldık - ürün ve müşteri. DataFrame ürününde aşağıdaki ayrıntılar bulunur:

ürün=pd.Veri çerçevesi(
"Ürün_Kimliği":[101,102,103,104,105,106,107],
'Ürün_Adı':['kulaklıklar','Çanta','Ayakkabılar','Akıllı telefon','Diş fırçası','kol saati','Dizüstü bilgisayar'],
'Kategori':['Elektronik','Moda','Moda','Elektronik','Bakkal','Moda','Elektronik'],
'Fiyat':[300.0,1000.50,2000.0,21999.0,145.0.1500.0,90999.0],
'Seller_City':['İslamabad','Lahor','Karaçi','Rawalpindi','İslamabad','Karaçi','Faisalabad']
)

Müşteri DataFrame aşağıdaki ayrıntıları içerir:

müşteri=pd.Veri çerçevesi(
'Kimlik':[1,2,3,4,5,6,7,8,9],
'Müşteri_Adı':['Sara','Sana','Ali','Raees','Mahwish','Umar','Mirha','Asif','Maria'],
'Yaş':[20,21,15,10,31,52,15,18,16],
'Ürün_Kimliği':[101,0,106,0,103,104,0,0,107],
'Ürün_Satın Alınan':['kulaklıklar','NA','kol saati','NA','Ayakkabılar','Akıllı telefon','NA','NA','Dizüstü Bilgisayar'],
'Customer_City':['Lahor','İslamabad','Faisalabad','Karaçi','Karaçi','İslamabad','Rawalpindi','İslamabad',
'Lahor']
)

Bir Anahtarda DataFrames'e Katılın

İnternette satılan ürünleri ve bunları satın alan müşterileri kolayca bulabiliriz. Bu nedenle, bir "Product_ID" anahtarına dayanarak, her iki DataFrame'de de iç birleştirme işlemini aşağıdaki gibi gerçekleştirdik:

# Pandalar kitaplığını içe aktar
pandaları pd olarak içe aktar
ürün=pd.Veri çerçevesi(
"Ürün_Kimliği":[101,102,103,104,105,106,107],
'Ürün_Adı':['kulaklıklar','Çanta','Ayakkabılar','Akıllı telefon','Diş fırçası','kol saati','Dizüstü bilgisayar'],
'Kategori':['Elektronik','Moda','Moda','Elektronik','Bakkal','Moda','Elektronik'],
'Fiyat':[300.0,1000.50,2000.0,21999.0,145.0.1500.0,90999.0],
'Seller_City':['İslamabad','Lahor','Karaçi','Rawalpindi','İslamabad','Karaçi','Faysalabad']
)
müşteri=pd.Veri çerçevesi(
'Kimlik':[1,2,3,4,5,6,7,8,9],
'Müşteri_Adı':['Sara','Sana','Ali','Raees','Mahwish','Umar','Mirha','Asif','Maria'],
'Yaş':[20,21,15,10,31,52,15,18,16],
'Ürün_Kimliği':[101,0,106,0,103,104,0,0,107],
'Ürün_Satın Alınan':['kulaklıklar','NA','kol saati','NA','Ayakkabılar','Akıllı telefon','NA','NA','Dizüstü Bilgisayar'],
'Şehir':['Lahor','İslamabad','Faisalabad','Karaçi','Karaçi','İslamabad','Rawalpindi','İslamabad',
'Lahor']
)
yazdır (pd.birleştirme(ürün,müşteri,on='Ürün_Kimliği'))

Yukarıdaki kodu çalıştırdıktan sonra pencerede aşağıdaki çıktı görüntülenir:

Her iki DataFrame'de de sütunlar farklıysa, her bir sütunun adını left_on ve right_on bağımsız değişkenleriyle aşağıdaki gibi açıkça yazın:

pandaları pd olarak içe aktar
ürün=pd.Veri çerçevesi(
"Ürün_Kimliği":[101,102,103,104,105,106,107],
'Ürün_Adı':['kulaklıklar','Çanta','Ayakkabılar','Akıllı telefon','Diş fırçası','kol saati','Dizüstü bilgisayar'],
'Kategori':['Elektronik','Moda','Moda','Elektronik','Bakkal','Moda','Elektronik'],
'Fiyat':[300.0,1000.50,2000.0,21999.0,145.0.1500.0,90999.0],
'Seller_City':['İslamabad','Lahor','Karaçi','Rawalpindi','İslamabad','Karaçi','Faisalabad']
)
müşteri=pd.Veri çerçevesi(
'Kimlik':[1,2,3,4,5,6,7,8,9],
'Müşteri_Adı':['Sara','Sana','Ali','Raees','Mahwish','Umar','Mirha','Asif','Maria'],
'Yaş':[20,21,15,10,31,52,15,18,16],
'Ürün_Kimliği':[101,0,106,0,103,104,0,0,107],
'Ürün_Satın Alınan':['kulaklıklar','NA','kol saati','NA','Ayakkabılar','Akıllı telefon','NA','NA','Dizüstü Bilgisayar'],
'Şehir':['Lahor','İslamabad','Faisalabad','Karaçi','Karaçi','İslamabad','Rawalpindi','İslamabad',
'Lahor']
)
yazdır (pd.birleştirme(ürün,müşteri,left_on='Ürün_Adı',right_on='Ürün_Satın Alınan'))

Ekranda aşağıdaki çıktı görüntülenecektir:

Nasıl Argümanını Kullanarak DataFrames'a Katılın

Aşağıdaki örneklerde, Pandas DataFrame'lerde dört tür Birleştirme işlemini açıklayacağız:

Pandalarda İç Birleşim

Birden çok tuşta iç birleştirme gerçekleştirebiliriz. Ürün satışları hakkında daha fazla ayrıntı görüntülemek için, ürün DataFrame ve Product_ID'den Product_ID, Seller_City ve satıcının veya müşterinin aynı şehre ait olduğunu bulmak için müşteri DataFrame'den "Customer_City" alın. Aşağıdaki kod satırlarını uygulayın:

# Pandalar kitaplığını içe aktar
pandaları pd olarak içe aktar
ürün=pd.Veri çerçevesi(
"Ürün_Kimliği":[101,102,103,104,105,106,107],
'Ürün_Adı':['kulaklıklar','Çanta','Ayakkabılar','Akıllı telefon','Diş fırçası','kol saati','Dizüstü bilgisayar'],
'Kategori':['Elektronik','Moda','Moda','Elektronik','Bakkal','Moda','Elektronik'],
'Fiyat':[300.0,1000.50,2000.0,21999.0,145.0.1500.0,90999.0],
'Seller_City':['İslamabad','Lahor','Karaçi','Rawalpindi','İslamabad','Karaçi','Faysalabad']
)
müşteri=pd.Veri çerçevesi(
'Kimlik':[1,2,3,4,5,6,7,8,9],
'Müşteri_Adı':['Sara','Sana','Ali','Raees','Mahwish','Umar','Mirha','Asif','Maria'],
'Yaş':[20,21,15,10,31,52,15,18,16],
'Ürün_Kimliği':[101,0,106,0,103,104,0,0,107],
'Ürün_Satın Alınan':['kulaklıklar','NA','kol saati','NA','Ayakkabılar','Akıllı telefon','NA','NA','Dizüstü Bilgisayar'],
'Customer_City':['Lahor','İslamabad','Faisalabad','Karaçi','Karaçi','İslamabad','Ravalpindi','İslamabad',
'Lahor']
)
yazdır (pd.merge(product,customer,how='inner',left_on=['Product_ID','Seller_City'],right_on=['Product_ID','Customer_City']))

Yukarıdaki kodu çalıştırdıktan sonra pencerede aşağıdaki sonuç gösterilir:

Pandalarda tam/dış birleştirme

Dış birleşimler, eşleşmeleri olan hem sağ hem de sol DataFrames değerlerini döndürür. Bu nedenle, dış birleştirmeyi uygulamak için "nasıl" argümanını dış olarak ayarlayın. Dış birleştirme kavramını kullanarak yukarıdaki örneği değiştirelim. Aşağıdaki kodda, hem sol hem de sağ DataFrames'in tüm değerlerini döndürecektir.

# Pandalar kitaplığını içe aktar
pandaları pd olarak içe aktar
ürün=pd.Veri çerçevesi(
"Ürün_Kimliği":[101,102,103,104,105,106,107],
'Ürün_Adı':['kulaklıklar','Çanta','Ayakkabılar','Akıllı telefon','Diş fırçası','kol saati','Dizüstü bilgisayar'],
'Kategori':['Elektronik','Moda','Moda','Elektronik','Bakkal','Moda','Elektronik'],
'Fiyat':[300.0,1000.50,2000.0,21999.0,145.0.1500.0,90999.0],
'Seller_City':['İslamabad','Lahor','Karaçi','Rawalpindi','İslamabad','Karaçi','Faisalabad']
)
müşteri=pd.Veri çerçevesi(
'Kimlik':[1,2,3,4,5,6,7,8,9],
'Müşteri_Adı':['Sara','Sana','Ali','Raees','Mahwish','Umar','Mirha','Asif','Maria'],
'Yaş':[20,21,15,10,31,52,15,18,16],
'Ürün_Kimliği':[101,0,106,0,103,104,0,0,107],
'Ürün_Satın Alınan':['kulaklıklar','NA','kol saati','NA','Ayakkabılar','Akıllı telefon','NA','NA','Dizüstü Bilgisayar'],
'Customer_City':['Lahor','İslamabad','Faisalabad','Karaçi','Karaçi','İslamabad','Rawalpindi','İslamabad',
'Lahor']
)
yazdır (pd.merge(product,customer,on='Product_ID',how='outer'))

Gösterge argümanını “True” olarak ayarlayın. Sonunda yeni “_merge” sütununun eklendiğini fark edeceksiniz.

# Pandalar kitaplığını içe aktar
pandaları pd olarak içe aktar
ürün=pd.Veri çerçevesi(
"Ürün_Kimliği":[101,102,103,104,105,106,107],
'Ürün_Adı':['kulaklıklar','Çanta','Ayakkabılar','Akıllı telefon','Diş fırçası','kol saati','Dizüstü bilgisayar'],
'Kategori':['Elektronik','Moda','Moda','Elektronik','Bakkal','Moda','Elektronik'],
'Fiyat':[300.0,1000.50,2000.0,21999.0,145.0.1500.0,90999.0],
'Seller_City':['İslamabad','Lahor','Karaçi','Rawalpindi','İslamabad','Karaçi','Faisalabad']
)
müşteri=pd.Veri çerçevesi(
'Kimlik':[1,2,3,4,5,6,7,8,9],
'Müşteri_Adı':['Sara','Sana','Ali','Raees','Mahwish','Umar','Mirha','Asif','Maria'],
'Yaş':[20,21,15,10,31,52,15,18,16],
'Ürün_Kimliği':[101,0,106,0,103,104,0,0,107],
'Ürün_Satın Alınan':['kulaklıklar','NA','kol saati','NA','Ayakkabılar','Akıllı telefon','NA','NA','Dizüstü Bilgisayar'],
'Customer_City':['Lahor','İslamabad','Faisalabad','Karaçi','Karaçi','İslamabad','Rawalpindi','İslamabad',
'Lahor']
)
yazdır (pd.merge(product,customer,on='Product_ID',how='outer',indicator=True))

Aşağıdaki ekran görüntüsünde görebileceğiniz gibi, birleştirme sütun değerleri hangi satırın hangi DataFrame'e ait olduğunu açıklar.

Pandalarda Sol Birleştirme

Sol birleştirme yalnızca sol DataFrame'in satırlarını görüntüler.  Dış birleştirmeye benzer. Öyleyse, 'nasıl' argüman değerini “sol” ile değiştirin. Sol birleştirme fikrini uygulamak için aşağıdaki kodu deneyin:

# Pandalar kitaplığını içe aktar
pandaları pd olarak içe aktar
ürün=pd.Veri çerçevesi(
"Ürün_Kimliği":[101,102,103,104,105,106,107],
'Ürün_Adı':['kulaklıklar','Çanta','Ayakkabılar','Akıllı telefon','Diş fırçası','kol saati','Dizüstü bilgisayar'],
'Kategori':['Elektronik','Moda','Moda','Elektronik','Bakkal','Moda','Elektronik'],
'Fiyat':[300.0,1000.50,2000.0,21999.0,145.0.1500.0,90999.0],
'Seller_City':['İslamabad','Lahor','Karaçi','Rawalpindi','İslamabad','Karaçi','Faisalabad']
)
müşteri=pd.Veri çerçevesi(
'Kimlik':[1,2,3,4,5,6,7,8,9],
'Müşteri_Adı':['Sara','Sana','Ali','Raees','Mahwish','Umar','Mirha','Asif','Maria'],
'Yaş':[20,21,15,10,31,52,15,18,16],
'Ürün_Kimliği':[101,0,106,0,103,104,0,0,107],
'Ürün_Satın Alınan':['kulaklıklar','NA','kol saati','NA','Ayakkabılar','Akıllı telefon','NA','NA','Dizüstü Bilgisayar'],
'Customer_City':['Lahor','İslamabad','Faisalabad','Karaçi','Karaçi','İslamabad','Ravalpindi','İslamabad',
'Lahor']
)
yazdır (pd.merge(product,customer,on='Product_ID',how='left'))

Pandalarda Sağa Katılma

Sağ birleştirme, sol DataFrame'de de yaygın olan satırlarla birlikte tüm sağ DataFrame satırlarını sağda tutar. Bu durumda, "nasıl" argümanı "doğru" değer olarak ayarlanır. Doğru birleştirme konseptini uygulamak için aşağıdaki kodu çalıştırın:

# Pandalar kitaplığını içe aktar
pandaları pd olarak içe aktar
ürün=pd.Veri çerçevesi(
"Ürün_Kimliği":[101,102,103,104,105,106,107],
'Ürün_Adı':['kulaklıklar','Çanta','Ayakkabılar','Akıllı telefon','Diş fırçası','kol saati','Dizüstü bilgisayar'],
'Kategori':['Elektronik','Moda','Moda','Elektronik','Bakkal','Moda','Elektronik'],
'Fiyat':[300.0,1000.50,2000.0,21999.0,145.0.1500.0,90999.0],
'Seller_City':['İslamabad','Lahor','Karaçi','Rawalpindi','İslamabad','Karaçi','Faisalabad']
)
müşteri=pd.Veri çerçevesi(
'Kimlik':[1,2,3,4,5,6,7,8,9],
'Müşteri_Adı':['Sara','Sana','Ali','Raees','Mahwish','Umar','Mirha','Asif','Maria'],
'Yaş':[20,21,15,10,31,52,15,18,16],
'Ürün_Kimliği':[101,0,106,0,103,104,0,0,107],
'Ürün_Satın Alınan':['kulaklıklar','NA','kol saati','NA','Ayakkabılar','Akıllı telefon','NA','NA','Dizüstü Bilgisayar'],
'Customer_City':['Lahor','İslamabad','Faisalabad','Karaçi','Karaçi','İslamabad','Ravalpindi','İslamabad',
'Lahor']
)
yazdır (pd.merge(product,customer,on='Product_ID',nasıl='doğru'))

Aşağıdaki ekran görüntüsünde, yukarıdaki kodu çalıştırdıktan sonra sonucu görebilirsiniz:

Concat () işlevini kullanarak DataFrame'lerin birleştirilmesi

concat işlevi kullanılarak iki DataFrame birleştirilebilir. Birleştirme işlevinin temel sözdizimi aşağıda verilmiştir:

pd.concat([df_obj1, df_obj_2]))

İki DataFrames nesnesi argüman olarak geçecek.

Concat işlevi aracılığıyla hem DataFrames ürününü hem de müşteriyi birleştirelim. İki DataFrame'i birleştirmek için aşağıdaki kod satırlarını çalıştırın:

# Pandalar kitaplığını içe aktar
pandaları pd olarak içe aktar
ürün=pd.Veri çerçevesi(
"Ürün_Kimliği":[101,102,103,104,105,106,107],
'Ürün_Adı':['kulaklıklar','Çanta','Ayakkabılar','Akıllı telefon','Diş fırçası','kol saati','Dizüstü bilgisayar'],
'Kategori':['Elektronik','Moda','Moda','Elektronik','Bakkal','Moda','Elektronik'],
'Fiyat':[300.0,1000.50,2000.0,21999.0,145.0.1500.0,90999.0],
'Seller_City':['İslamabad','Lahor','Karaçi','Rawalpindi','İslamabad','Karaçi','Faisalabad']
)
müşteri=pd.Veri çerçevesi(
'Kimlik':[1,2,3,4,5,6,7,8,9],
'Müşteri_Adı':['Sara','Sana','Ali','Raees','Mahwish','Umar','Mirha','Asif','Maria'],
'Yaş':[20,21,15,10,31,52,15,18,16],
'Ürün_Kimliği':[101,0,106,0,103,104,0,0,107],
'Ürün_Satın Alınan':['kulaklıklar','NA','kol saati','NA','Ayakkabılar','Akıllı telefon','NA','NA','Dizüstü Bilgisayar'],
'Customer_City':['Lahor','İslamabad','Faisalabad','Karaçi','Karaçi','İslamabad','Ravalpindi','İslamabad',
'Lahor']
)
yazdır (pd.concat([ürün,müşteri]))

Sonuç:

Bu yazıda, Pandas python'da birleştirme () işlevi, concat () işlevleri ve birleştirme işleminin uygulanmasını tartıştık. Yukarıdaki yöntemleri kullanarak iki DataFrame'i kolayca birleştirebilir ve öğrenmiş olabilirsiniz. Pandalarda “iç, dış, sol ve sağ” Birleştirme işlemlerinin nasıl uygulanacağı. Umarım bu eğitim, farklı DataFrames türlerinde birleştirme işlemlerini uygulamada size rehberlik edecektir. Herhangi bir hata durumunda lütfen yaşadığınız zorlukları bize bildirin.

Linux'ta Fare Tıklamalarını ve Tuş Vuruşlarını Teşvik Etmek İçin Xdotool Nasıl Kullanılır?
Xdotool, fare tıklamalarını ve tuş vuruşlarını simüle etmek için ücretsiz ve açık kaynaklı bir komut satırı aracıdır. Bu makale, klavye ve fare girişl...
Linux için En İyi 5 Ergonomik Bilgisayar Faresi Ürünleri
Uzun süreli bilgisayar kullanımı bileğinizde veya parmaklarınızda ağrıya neden olur mu?? Sert eklemlerden muzdarip misiniz ve sürekli ellerinizi sıkma...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...