Pandalar
Pandas, Python programlama dilinde ilişkisel verilerle çalışmak için kullanılan, Python'da yerleşik bir kütüphanedir. İlişkisel verilerin işlemlerine yardımcı olan birçok fonksiyon ve veri yapısına sahiptir.
Veriler satır ve sütunlar halinde veya iki boyutlu veriler şeklinde saklanıyorsa pandalarda genellikle veri çerçeveleri denir.
İki veri çerçevemiz varsa pandaların yardımıyla bunları birleştirebilir veya tek bir veri çerçevesinde birleştirebiliriz. Pandalar, iki farklı veri çerçevesinin verilerini birleştirmek için ayarlanmış mantığın yanı sıra bunları karşılaştırmak için mantık sağlar.
1. concat() fonksiyonunun kullanılması
Python'da iki veri çerçevesini Pandas'ın concat() fonksiyonunun yardımıyla birleştirebiliriz. Verileri satır bazında veya sütun bazında birleştirebiliriz. Bu fonksiyon, verileri bir eksende (satır veya sütun) birleştirir ve ayarlanan mantığı başka bir eksende (başka bir indeks) gerçekleştirir.
Örnek:
import pandas as pd from IPython.display import display # First DataFrame dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'DEF', 'GHI'], 'Marks':[65,69,96,89]}) # Second DataFrame dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'Name': ['XYZ', 'TUV', 'MNO', 'JKL'], 'Marks':[56,96,69,98]}) frames = [dataFrame1, dataFrame2] result = pd.concat(frames) display(result)
Çıktı:
Açıklama:
Yukarıdaki kodda ilk olarak Pandas kütüphanesini dosyaya aktardık. Daha sonra, her bir veri çerçevesinin üç sütun ve dört satır içerdiği iki veri çerçevesini oluşturduk. Daha sonra bu iki dataframe'i satırlar halinde birleştiren concat fonksiyonunu kullandık ve display fonksiyonu ile bunu ekrana yazdırdık.
2. Pandalarda birleştirmelerin kullanılması
İki tabloyu ortak bir özelliğe göre birleştirdiğimiz veritabanındaki birleştirme kavramını anladık. Aynı yöntem veri çerçevelerinin birleştirilmesinde de geçerlidir. Basit concat() yönteminde tüm satırları birbiri üzerinde birleştirdik ve yeni veri çerçevesini oluşturduk. Birleştirmede, ister iç birleştirme ister dış birleştirme olsun, tabloda hangi birleştirme türünü gerçekleştirmek istediğimizi tanımlarız. İç birleştirme (kesişme) veya dış birleştirme (birleştirme) türü ne olursa olsun, birleştirme özelliğinde tanımlanacaktır.
Örnek:
Java'da özelleştirilmiş istisna
import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=1, join='inner') display(result)
Çıktı:
Açıklama:
Yukarıdaki kodda, her ikisi de iki sütun ve dört satır içeren iki daraframe'imiz var. Her iki veri çerçevesinin de farklı sütun adları vardır ve concat() fonksiyonunda kesişim kısmını alan iç birleştirmeyi kullandık.
Axis özelliğinde, bir değerini başlattık, böylece tüm veriyi elde ettik.
Örnek:
import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'],'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=0, join='inner') display(result)
Çıktı:
Avustralya'daki şehirler
Ortak bir özellik olmadığından ve iç birleştirme uygulandığından çıktı olarak boş bir veri çerçevesi elde ettik. Her iki veri çerçevesinde de ortak bir özellik varsa:
Örnek:
import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=0, join='inner') display(result)
Çıktı:
Açıklama:
Yukarıdaki kodda, ortak olan bir özniteliğimiz var: 'id', böylece veri çerçevesi yalnızca ortak özniteliklere dayalı olarak oluşturulur.
3. Append() yöntemini kullanma
Concat() yöntemi yerine Append() yöntemini kullanabiliriz. Bu Append() yöntemi veri çerçevelerinden birine uygulanır.
Örnek:
import pandas as pd from IPython.display import display # First DataFrame dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'City': ['JAIPUR', 'MANALI', 'NOIDA', 'LUCKNOW']}) # Second DataFrame dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'City': ['MUMBAI', 'UDAIPUR', 'RISHIKESH', 'KASHMIR']}) # append method result = dataFrame1.append(dataFrame2) display(result)
Çıktı:
Açıklama:
Yukarıdaki kodda, ekleme yöntemini kullanarak iki veri çerçevesini birleştirdik.