Pandas Tutorials

Pandas DataFrame’lerinde Benzersiz Değerleri Etkin Şekilde Çıkarma ve Sıralama

Spread the love

Pandas, veri manipülasyonu ve analizi için güçlü bir Python kütüphanesidir. Yaygın bir görev, bir DataFrame sütunundan benzersiz değerleri ayıklamak ve ardından bunları sıralamaktır. Bu makale, bunu başarmak için iki verimli yöntemi ele almaktadır.

İçerik Tablosu

unique() Metoduyla Benzersiz Değerleri Ayıklama

unique() metodu, bir Pandas Serisinden (tek bir sütun) benzersiz değerleri elde etmenin özlü bir yolunu sağlar. Orijinal sıralarını koruyarak yalnızca benzersiz öğeleri içeren bir NumPy dizisi döndürür.


import pandas as pd

data = {'col1': ['A', 'B', 'A', 'C', 'B', 'D'],
        'col2': [1, 2, 1, 3, 2, 4]}
df = pd.DataFrame(data)

unique_values = df['col1'].unique()
print(unique_values)  # Çıktı: ['A' 'B' 'C' 'D']

Bu kod, bir örnek DataFrame oluşturur ve ardından ‘col1’ sütununda unique() kullanır. Çıktı, ilk görünüm sıralarında benzersiz değerleri gösteren bir NumPy dizisidir.

drop_duplicates() Metoduyla Benzersiz Değerleri Ayıklama

drop_duplicates() metodu, özellikle birden çok sütunla çalışırken daha fazla esneklik sunar. Esas olarak yinelenen satırları kaldırmak için kullanılırken, tek bir sütundan benzersiz değerleri verimli bir şekilde ayıklayabilir.


import pandas as pd

data = {'col1': ['A', 'B', 'A', 'C', 'B', 'D'],
        'col2': [1, 2, 1, 3, 2, 4]}
df = pd.DataFrame(data)

unique_values = df['col1'].drop_duplicates().values
print(unique_values)  # Çıktı: ['A' 'B' 'C' 'D']

Bu örnek, drop_duplicates()‘ı doğrudan ‘col1’ Serisine uygular. .values özniteliği sonucu bir NumPy dizisine dönüştürür. Benzersiz değerlerin sırası, DataFrame’deki ilk görünümünü yansıtır.

Benzersiz Değerleri Sıralama

Yukarıdaki her iki yöntem de benzersiz değerleri döndürür, ancak mutlaka sıralı olarak değil. Sıralamak için NumPy’nin sort() fonksiyonunu veya Pandas’ın sort_values() metodunu kullanın.


import pandas as pd
import numpy as np

data = {'col1': ['A', 'B', 'A', 'C', 'B', 'D'],
        'col2': [1, 2, 1, 3, 2, 4]}
df = pd.DataFrame(data)

# unique() ve sort() kullanarak
unique_values = np.sort(df['col1'].unique())
print(unique_values)  # Çıktı: ['A' 'B' 'C' 'D']

# drop_duplicates() ve sort_values() kullanarak
unique_values = df['col1'].drop_duplicates().sort_values().values
print(unique_values)  # Çıktı: ['A' 'B' 'C' 'D']

Bu, her iki yaklaşımı kullanarak sıralamayı göstermektedir. np.sort(), unique()‘den gelen NumPy dizisinde çalışırken, sort_values(), drop_duplicates()‘den gelen Pandas Serisinde kullanılır. Her ikisi de sıralanmış bir dizi verir. sort_values() ile azalan sıra için ascending=False kullanın.

Özetle, hem unique() hem de drop_duplicates() benzersiz değerleri verimli bir şekilde ayıklar. En uygun seçim, özel ihtiyaçlarınıza ve tek veya çoklu sütunlarla çalışıp çalışmadığınıza bağlıdır. İstediğiniz sıraya göre sonuçları uygun yöntemi kullanarak sıralamayı unutmayın.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir