Pivot tablolar, MS Excel’de en çok saygı duyulan ve yaygın olarak kullanılan araçlar arasında olmaya devam ediyor. İster bir veri analisti, ister veri mühendisi, ister sadece sıradan bir kullanıcı olun, muhtemelen MS Excel’e zaten zaafınız vardır.
Bununla birlikte, özellikle Python’da, MS Excel’in araçlarını ve yardımcı programlarını çoğaltmak için artan bir kapsam vardır. Python’un DataFrame’lerinde birkaç satırlık kodla kapsamlı pivot tablolar oluşturabileceğinizi biliyor muydunuz?
Evet doğru; Eğer ilginizi çekiyorsa, bunu nasıl yapabileceğiniz aşağıda açıklanmıştır.
Pivot Tablolar Oluşturmak için Ön Koşullar
Diğer tüm programlama dillerinde olduğu gibi, Python bile kodlamaya başlamadan önce birkaç ön koşulu yerine getirmenize ihtiyaç duyar.
Python’da ilk pivot tablonuzu oluştururken en iyi duruma getirilmiş deneyimi elde etmek için şunlara ihtiyacınız olacak:
Python IDE: Çoğu Python kodunun, sistemlerine önceden yüklenmiş bir tümleşik geliştirme ortamı (IDE) vardır. Piyasada Jupyter Notebook, Spyder, PyCharm ve diğerleri dahil olmak üzere birkaç Python uyumlu IDE vardır .
Örnek Veriler: Örnek olarak, üzerinde çalışmanız için örnek bir veri kümesini burada bulabilirsiniz. Alternatif olarak, bu kodları doğrudan canlı verilerinizde değiştirmekten çekinmeyin.
Veri örneği bağlantısı: Örnek Süper Mağaza
Essential Libraries’i İçe Aktarma
Python, üçüncü taraf kitaplıkları kavramı üzerinde çalıştığından, pivot oluşturmak için Pandas kitaplığını içe aktarmanız gerekir.
Bir Excel dosyasını Python’a aktarmak ve verileri bir DataFrame’de depolamak için Pandaları kullanabilirsiniz . Pandaları içe aktarmak için içe aktarma komutunu aşağıdaki şekilde kullanın:
import pandas as pd
Python’da Pivotlar Nasıl Oluşturulur
Kitaplık artık kullanılabilir olduğundan, Excel dosyasını Python’da pivot oluşturmak ve test etmek için temel oluşturan Python’a aktarmanız gerekir. İçe aktarılan verileri aşağıdaki kodla bir DataFrame’de saklayın:
# Create a new DataFrame
# replace with your own path here
path = “C://Users//user/OneDrive//Desktop//”
# you can define the filename here
file = “Sample – Superstore.xls”
df = pd.read_excel(path + file)
df.head()
Neresi:
df: DataFrame verilerini depolamak için değişken adı
pd: Pandalar kitaplığı için takma ad
read_excel(): Pandalar, bir Excel dosyasını Python’a okumak için işlev görür
yol: Excel dosyasının depolandığı konum (Örnek Mağaza)
dosya : İçe aktarılacak dosya adı
head(): Varsayılan olarak DataFrame’in ilk beş satırını görüntüler.
Yukarıdaki kod, Excel dosyasını Python’a aktarır ve verileri bir DataFrame’de depolar. Son olarak, head işlevi, verilerin ilk beş satırını görüntüler.
Python kodunu gösteren Jupyter Notebook arayüzü
Bu işlev, verilerin Python’a doğru şekilde aktarılmasını sağlamak için kullanışlıdır.
Python’da Hangi Pivot Tablo Alanları Vardır?
Excel muadili gibi, bir pivot tablo da Python’da benzer bir alan kümesine sahiptir. İşte bilmeniz gereken birkaç alan:
Veri: Veri alanı, bir Python DataFrame içinde depolanan verileri ifade eder.
Değerler: Bir pivot içinde kullanılan sütun verileri
Dizin: Verileri gruplandırmak için bir dizin sütunu/sütunları
Sütunlar: Sütunlar, bir DataFrame içinde mevcut verilerin toplanmasına yardımcı olur
Dizin İşlevini Kullanmanın Arkasındaki Amaç
İndeks işlevi, bir pivot tablonun birincil öğesi olduğundan, verilerin temel düzenini döndürür. Yani index fonksiyonu ile verilerinizi gruplandırabilirsiniz .
Segment sütununda listelenen ürünler için bazı toplu değerleri görmek istediğinizi varsayalım . Belirtilen sütunu bir dizin değeri olarak tanımlayarak Python’da önceden tanımlanmış bir toplama (ortalama değer) hesaplayabilirsiniz .
df.pivot_table(index = “Segment”)
Neresi:
df : Verileri içeren DataFrame
pivot_table : Python’da özet tablo işlevi
index : Bir sütunu dizin olarak tanımlamak için yerleşik işlev
Segment : Dizin değeri olarak kullanılacak sütun
Python’un değişken adları büyük/küçük harfe duyarlıdır, bu nedenle bu kılavuzda listelenen önceden tanımlanmış değişken adlarından uzaklaşmaktan kaçının.
Python kodunu gösteren Jupyter Notebook arayüzü
Çoklu Dizin Değerleri Nasıl Kullanılır?
Birden çok dizin sütunu kullanmak istediğinizde, sütun adlarını dizin işlevi içinde bir listede tanımlayabilirsiniz. Tek yapmanız gereken sütun adlarını aşağıda gösterildiği gibi bir dizi köşeli parantez ([ ]) içinde belirtmektir :
df.pivot_table(index = [“Category”, “Sub-Category”])
Python kodunu gösteren Jupyter Notebook arayüzü
Pivot işlevi, çıktıdaki dizin sütununu girintiler. Python, her indeks değerine karşı tüm sayısal değerlerin ortalamasını görüntüler.
Çıktıdaki Değerleri Kısıtlamayı Öğrenin
Python tüm sayısal sütunları varsayılan olarak seçtiğinden, son çıktıda gösterilen sonuçları değiştirmek için değerleri sınırlayabilirsiniz. Görmek istediğiniz sütunları tanımlamak için değerler işlevini kullanın .
df.pivot_table(index = [“Region”, “Category”, “Sub-Category”], values = “Sales”)
Nihai çıktıda, üç dizin sütunu olacak ve Satış sütununun ortalama değerleri her bir öğeyle karşılaştırılacaktır.
Python kodunu gösteren Jupyter Notebook arayüzü
Özet Tabloda Toplu İşlevleri Tanımlama
Ortalama değerleri varsayılan olarak hesaplamak istemediğinizde ne olur? Pivot tablo, basit bir ortalama hesaplamanın ötesine geçen birçok başka işlevselliğe sahiptir.
İşte kodu nasıl yazacağınız:
df.pivot_table(index = [“Category”], values = “Sales”, aggfunc = [sum, max, min, len])
Neresi:
toplam: Değerlerin toplamını hesaplar
max: Maksimum değeri hesaplar
min: Maksimum değeri hesaplar
len: Değer sayısını hesaplar
Python kodunu gösteren Jupyter Notebook arayüzü
Bu işlevlerin her birini ayrı kod satırlarında da tanımlayabilirsiniz.
Pivot Tabloya Genel Toplamlar Nasıl Eklenir?
Genel toplamlar olmadan hiçbir veri varlığı tamamlanmış sayılmaz. Veri sütunu başına genel toplamları hesaplamak ve görüntülemek için, kenar boşlukları ve kenar_adı işlevini kullanın.
df.pivot_table(index = [“Category”], values = “Sales”, aggfunc = [sum, max, min, len], margins=True, margins_name=’Grand Totals’)
Neresi:
marjlar: Genel toplamı hesaplama işlevi
marjin_adı: Dizin sütununda kategorinin adını belirtin (örneğin, Genel Toplamlar)
Nihai Kodu Değiştirin ve Kullanın
İşte son kod özeti:
import pandas as pd
# replace with your own path here
path = “C://Users//user/OneDrive//Desktop//”
# you can define the filename here
file = “Sample – Superstore.xls”
df = pd.read_excel(path + file)
df.pivot_table(index = [“Region”, “Category”, “Sub-Category”], values = “Sales”,
aggfunc = [sum, max, min, len],
margins=True,
margins_name=’Grand Totals’)
Python’da Pivot Tablolar Oluşturma
Pivot tabloları kullandığınızda seçenekler sonsuzdur. Python, veri tutarsızlıkları ve sistem gecikmeleri konusunda endişelenmeden çok büyük veri dizilerini kolayca işlemenizi sağlar.
Python’un işlevleri yalnızca verileri pivotlara yoğunlaştırmakla sınırlı olmadığı için, Python ile ilgili bir dizi işlevi gerçekleştirirken birden çok Excel çalışma kitabını ve sayfasını birleştirebilirsiniz.
Python ile ufukta her zaman yeni bir şeyler vardır.