Pandas DataFrame’leri veri manipülasyonu için güçlü araçlar sunar ve sıralama temel bir işlemdir. Bu makale, çok önemli sort_values()
metoduna ve ascending
ve na_position
gibi temel argümanlarına odaklanarak bir DataFrame’in tek bir sütuna göre verimli bir şekilde nasıl sıralanacağını ele almaktadır.
İçindekiler
ascending
ile Sıralama Sırasının Kontrol Edilmesina_position
ile Eksik Değerlerin İşlenmesi- Birden Fazla Sütuna Göre Sıralama
- Yerinde Sıralama
ascending
ile Sıralama Sırasının Kontrol Edilmesi
sort_values()
metodu, sıralama yönü üzerinde kolay kontrol sağlar. Varsayılan olarak True
(artan sırada) olan ascending
argümanı, artan veya azalan sırada sıralama yapılıp yapılmayacağını belirler.
import pandas as pd
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Age': [25, 30, 22, 28],
'Score': [85, 92, 78, 88]}
df = pd.DataFrame(data)
# 'Age' sütununa göre artan sıralama
df_ascending = df.sort_values(by='Age')
print("Artan:n", df_ascending)
# 'Age' sütununa göre azalan sıralama
df_descending = df.sort_values(by='Age', ascending=False)
print("nAzalan:n", df_descending)
na_position
ile Eksik Değerlerin İşlenmesi
Eksik değerler (NaN) içeren veri kümeleriyle çalışırken, na_position
argümanı bu değerlerin sıralanmış sütunda yerleştirilmesini kontrol eder. İki değer kabul eder:
'first'
(varsayılan): NaN değerlerini sıralanmış sütunun başına yerleştirir.'last'
: NaN değerlerini sıralanmış sütunun sonuna yerleştirir.
import pandas as pd
import numpy as np
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],
'Age': [25, 30, np.nan, 28, 22],
'Score': [85, 92, 78, 88, 95]}
df = pd.DataFrame(data)
# NaN değerleri önce
df_na_first = df.sort_values(by='Age', na_position='first')
print("NaN önce:n", df_na_first)
# NaN değerleri sonra
df_na_last = df.sort_values(by='Age', na_position='last')
print("nNaN sonra:n", df_na_last)
Birden Fazla Sütuna Göre Sıralama
by
argümanına bir liste geçirerek bunu birden fazla sütuna göre sıralamak için kolayca genişletebilirsiniz. Pandas, önce listenin ilk sütununa, sonra ikinci sütuna ve bu şekilde sıralayacaktır.
# Yaşa (artan) sonra Puan'a (azalan) göre sırala
df_multi = df.sort_values(by=['Age', 'Score'], ascending=[True, False])
print("nÇok sütunlu sıralama:n", df_multi)
Yerinde Sıralama
Varsayılan olarak, sort_values()
*yeni* bir sıralanmış DataFrame döndürür. DataFrame’i doğrudan değiştirmek için inplace
argümanını True
olarak ayarlayın. Bunun orijinal DataFrame’i değiştireceğini unutmayın, bu yüzden dikkatli olun.
df.sort_values(by='Age', inplace=True)
print("nYerinde sıralama:n", df)
Bu argümanları anlayarak ve kullanarak, Pandas DataFrame’lerinizi verimli ve doğru bir şekilde sıralayabilir, veri analizi iş akışınızı kolaylaştırabilirsiniz.