Pandas, veri manipülasyonu ve analizi için güçlü bir Python kütüphanesidir ve sütun değerlerinin toplamlarını hesaplamak sık kullanılan bir işlemdir. Bu makale, temel toplama, gruplama ile kümülatif toplamlar ve koşullu toplama dahil olmak üzere Pandas DataFrame’lerinde verileri verimli bir şekilde toplamanın çeşitli yöntemlerini ele almaktadır.
İçerik Tablosu:
- Pandas DataFrame Sütunlarının Temel Toplamı
groupby()
ile Kümülatif Toplam- Diğer Sütun Değerlerine Dayalı Koşullu Toplama
1. Pandas DataFrame Sütunlarının Temel Toplamı
Bir Pandas DataFrame sütununu toplamanın en basit yolu .sum()
yöntemini kullanmaktır. Bu, belirtilen sütundaki tüm değerlerin toplamını doğrudan hesaplar. Sayısal olmayan değerler yok sayılır.
import pandas as pd
data = {'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10],
'C': [11, 12, 13, 14, 15]}
df = pd.DataFrame(data)
# 'A' sütununun toplamı
sum_A = df['A'].sum()
print(f"A sütununun toplamı: {sum_A}") # Çıktı: A sütununun toplamı: 15
# 'B' sütununun toplamı
sum_B = df['B'].sum()
print(f"B sütununun toplamı: {sum_B}") # Çıktı: B sütununun toplamı: 40
# Tüm sayısal sütunların toplamı
sum_all = df.sum()
print(f"Tüm sayısal sütunların toplamı:n{sum_all}")
2. groupby()
ile Kümülatif Toplam
Gruplar içinde kümülatif toplamlar hesaplamak, groupby()
yöntemi ile .cumsum()
yönteminin birleştirilmesini gerektirir. Bu, farklı kategoriler arasında verimli bir toplama sağlar.
import pandas as pd
data = {'Group': ['X', 'X', 'Y', 'Y', 'Y'],
'Value': [10, 20, 30, 40, 50]}
df = pd.DataFrame(data)
# 'Group'a göre grupla ve 'Value'ın kümülatif toplamını hesapla
cumulative_sum = df.groupby('Group')['Value'].cumsum()
df['Cumulative Sum'] = cumulative_sum
print(df)
Bu, her grup için kümülatif toplamı gösteren bir ‘Kümülatif Toplam’ sütununa sahip bir DataFrame çıktısı verecektir.
3. Diğer Sütun Değerlerine Dayalı Koşullu Toplama
Koşullu toplama, diğer sütunlara uygulanan koşullara bağlı olarak değerleri toplamanıza olanak tanır. Boole indekslemesi ve .sum()
yöntemi bunu başarır.
import pandas as pd
data = {'Category': ['A', 'B', 'A', 'B', 'A'],
'Sales': [100, 150, 200, 250, 300]}
df = pd.DataFrame(data)
# 'Category' 'A' ise 'Sales' toplamı
sum_A = df[df['Category'] == 'A']['Sales'].sum()
print(f"A Kategorisi için Satışların Toplamı: {sum_A}") # Çıktı: A Kategorisi için Satışların Toplamı: 600
# 'Sales' 200'den büyükse 'Sales' toplamı
sum_greater_200 = df[df['Sales'] > 200]['Sales'].sum()
print(f"200'den büyük Satışların Toplamı: {sum_greater_200}") # Çıktı: 200'den büyük Satışların Toplamı: 550
Bu, güçlü koşullu toplamalar için toplama işleminden önce DataFrame’in filtrelenmesini göstermektedir. Bu teknikleri belirli verilerinize ve gereksinimlerinize uyarlamayı unutmayın. Pandas, verimli veri analizi için birçok araç sağlar.