Pandas. Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları. *Kaynakça bölümünde verilen kaynaklardan derlenmiştir.

Benzer belgeler
Mantıksal Kontrol ve Döngü Komutları

Lambda, Map, Filter ve Dizi Tamamlama

Girdi Çıktı İşlemleri

Kümeler. Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları. *Kaynakça bölümünde verilen kaynaklardan derlenmiştir.

Ardışık Veri Tipleri. Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları. *Kaynakça bölümünde verilen kaynaklardan derlenmiştir.

Sözlükler. Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları. *Kaynakça bölümünde verilen kaynaklardan derlenmiştir.

Giriş. Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları. *Kaynakça bölümünde verilen kaynaklardan derlenmiştir.

Fonksiyonlar. Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları. *Kaynakça bölümünde verilen kaynaklardan derlenmiştir.

Veri Tipleri. Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları. *Kaynakça bölümünde verilen kaynaklardan derlenmiştir.

Scipy. Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları. *Kaynakça bölümünde verilen kaynaklardan derlenmiştir.

Data Science Boot Camp

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS KİTAPLARI LİSTESİ

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 1002

AST415 Astronomide Sayısal Çözümleme - I. 0. Derse Giriş

Yrd. Doç. Dr. Caner ÖZCAN

Bilgisayar Programlama (COMPE 102) Ders Detayları

Veri Yapıları ve Algoritmalar dönem

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 2002

Teori/Saat Uygulama/Saat Laboratuar/Saat AKTS BLM Dersin Amacı

Teori/Saat Uygulama/Saat Laboratuar/Saat AKTS BLM Dersin Amacı

Bilgisayar Programlama (COMPE 102) Ders Detayları

Bölüm 6. Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler

Bilgisayar Programlama (COMPE 102) Ders Detayları

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-10 Diziler. Yrd. Doç. Dr. Ümit ATİLA

Olasılık ve İstatistik II (IE 202) Ders Detayları

Bilgisayar Mühendisliğine Giriş (COMPE 111) Ders Detayları

BLM 4811 MESLEKİ TERMİNOLOJİ II Salı , D-109 Dr. Göksel Biricik

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 1003

ALGORİTMA VE PROGRAMLAMA I DERS#1

Diziler (Arrays) Çok Boyutlu Diziler

Bilgisayar Programlama (COMPE 102) Ders Detayları

Tahmin (IE 519) Ders Detayları

Bilgisayar Programlama (COMPE 102) Ders Detayları

C Programlama Dili (MCS116) Ders Detayları

Bilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları

Bilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları

YAKIN DOĞU ÜNİVERSİTESİ DIŞA AÇIK DERSLER KOORDİNATÖRLÜĞÜ BİLGİSAYAR MÜHENDİSLİĞİ - İNGİLİZCE

Çok fazla bilgiden gizli kalmış örüntüleri ortaya çıkarma sürecine Veri Madenciliği denir.

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ EĞİTİM ÖĞRETİM YILI DERS KATALOĞU

BLM111 Programlama Dilleri I. Hafta 10 Diziler. Yrd. Doç. Dr. Caner ÖZCAN

Hafta 11 Çok Boyutlu Diziler

YEDİTEPE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

HSancak Nesne Tabanlı Programlama I Ders Notları

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

Bilgisayarlı Çizim (COMPE 473) Ders Detayları

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: MMM 4032

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU KRİSTALLOGRAFİ. Dersin Kodu: MMM 4032

SAYISAL GÖRÜNTÜ İŞLEME (Digital Image Processing)

Bilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 1202

Bilgisayar Programlama MATLAB

Bilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları

Yrd. Doç. Dr. Caner ÖZCAN

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

AST416 Astronomide Sayısal Çözümleme - II. 0. Derse Giriş

SAYISAL GÖRÜNTÜİŞLEME (Digital Image Processing)

İleri Algoritma (COMPE 574) Ders Detayları

BİLGİSAYAR PROGRAMLAMA DERSİ

AST416 Astronomide Sayısal Çözümleme - II. 0. Derse Giriş

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: END 2404

ÖZEL EGE LİSESİ FİBONACCİ DİZİLERİ YARDIMIYLA DEĞERİNİ HESAPLAYAN BİR FORMÜL

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

Kalkülüs II (MATH 152) Ders Detayları

Gevşek Hesaplama (COMPE 474) Ders Detayları

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: MMM 4038

BLM 112- Programlama Dilleri II. Hafta 4 İşaretçiler (Pointers)

AST409 Astronomide Sayısal Çözümleme. II. Python da Matrisler

Nesne Tabanlı Programlama (COMPE 225) Ders Detayları

Yazılım Kalite Yönetimi (SE 554) Ders Detayları

Dijital Görüntü İşleme (COMPE 464) Ders Detayları

Kalkülüs II (MATH 152) Ders Detayları

YEDİTEPE ÜNİVERSİTESİ ENDÜSTRİ VE SİSTEM MÜHENDİSLİĞİ BÖLÜMÜ ARASINDA ÇİFT ANADAL ANLAŞMASI

C++ ile Programlamaya Giriş. Gülşen Demiröz

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: MME 1101

TALEBİN FİYAT ESNEKLİĞİ Talep edilen miktarın fiyattaki değişmelere olan hassasiyetini ifade eder.

DOKUZ EYLÜL ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ MÜDÜRLÜĞÜ DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CSE 5053

DİNAMİK - 2. Yrd. Doç. Dr. Mehmet Ali Dayıoğlu. Ankara Üniversitesi Ziraat Fakültesi. Tarım Makinaları ve Teknolojileri Mühendisliği Bölümü

Temel Bilimler ve Mühendislik Eğitiminde Programlama Dili Olarak Python

Yazılım İnşası ve Evrimi (SE 556) Ders Detayları

Fundamentals of Object-Oriented Programming (COMPE 723) Ders Detayları

Yrd. Doç. Dr. Caner ÖZCAN

BİLİM (Yazılı) SINAVI KONULARI

DERS ÖĞRETİM PROGRAMI FORMU

İTÜ LİSANSÜSTÜ DERS KATALOG FORMU (GRADUATE COURSE CATALOGUE FORM)

ve Sonrası Girişli Öğrenciler için Uygulanacak Ders Program

ONLINE EĞİTİMLER. Zehra SAYIN etwinning Uzaktan Eğitim Sorumlusu Aralık 2015 etwinning 6. Ulusal Konferansı Antalya

DOKUZ EYLÜL ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ MÜDÜRLÜĞÜ DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CSE 5065

DERS BİLGİLERİ HİDROLOJİ VE SU YAPILARI CE CE 252 Fluid Mechanics and Hydraulics. Yrd. Doç. Dr. M. Adil Akgül

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 4423

ÖZGEÇMİŞ. Unvan Bölüm Üniversite Yıl Yrd. Doç. Dr. Yazılım Mühendisliği Bahçeşehir Üniversitesi 2007

İşletim Sistemleri (COMPE 431) Ders Detayları

Olasılık ve İstatistik (IE 220) Ders Detayları

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 2006

DOĞA BİLİMLERİ MİMARLIK VE MÜHENDİSLİK FAKÜLTESİ MAKİNE MÜHENDSİLİĞİ ÖĞRETİM PLANI 1. YARIYIL 2. YARIYIL

Mühendislik Mekaniği I (MFGE 201) Ders Detayları

Biçimsel Diller ve Özdevinirler (COMPE 326) Ders Detayları

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 4414

Transkript:

Pandas Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları *Kaynakça bölümünde verilen kaynaklardan derlenmiştir.

Pandas Pandas, Python ile verilerin kolayca işlenmesi için verilerin işlenmesi için veri yapıları sunan eklentidir. Pandas, Numpy dayalı olarak geliştirilmiştir. Pandas ile birlikte, istenirse SciPy ve Matplotlib de kullanılabilir. Pandas, iki temel veri yapısı sunar: Seri (Series) Veri Çerçevesi (DataFrame) Seriler, tek boyutlu diziler şeklinde verilerin tutulması ve üzerlerinde işlem yapılmasını sağlar. Buna karşın, Veri Çerçeveleri tablo şeklinde çok sütunlu veriler için kullanılır.

Seri (Series) Serilerin 1 boyutlu Numpy dizilerine benzemekle birlikte, çok daha esnek ve kuvvetli yanları bulunmaktadır. Seriler tek boyutlu tanımlansalar dahi, indisleri bulunmaktadır. a = pd.series([5, 54, 12, 22, 15, 87]) print(a) 0 5 1 54 2 12 3 22 4 15 5 87 dtype: int64

Seri (Series) a = pd.series([5, 54, 12, 22, 15, 87]) print(a.index) Int64Index([0, 1, 2, 3, 4, 5], dtype='int64')dtype: int64 print(a.values) [ 5 54 12 22 15 87] Serilerin indisleri ayrıca verilebilir. indisler = ['Ali','Ahmet','Mehmet','Veli','Arda','Doruk'] degerler = [5, 54, 12, 22, 15, 87] a = pd.series(degerler,index=indisler) print(a) Ali 5 Ahmet 54 Mehmet 12 Veli 22 Arda 15 Doruk 87 dtype: int64

Seri (Series) Serilerin istenilen sayı ve sıradaki elemanları indisleri yardımıyla gösterilebilir indisler = ['Ali','Ahmet','Mehmet','Veli','Arda','Doruk'] degerler = [5, 54, 12, 22, 15, 87] a = pd.series(degerler,index=indisler) print(a[['mehmet', 'Arda', 'Ali']]) Ali 5 Ahmet 54 Mehmet 12 Veli 22 Arda 15 Doruk 87 dtype: int64

Seri (Series) Seriler üzerinde doğruda aritmetik işlemler yapılabilir. Seriler Numpy komutlarına girdi olarak verilebilir. indisler = ['Ali','Ahmet','Mehmet','Veli','Arda','Doruk'] degerler = [5, 54, 12, 22, 15, 87] a = pd.series(degerler,index=indisler) print(5*a+2) print(np.sqrt(a)) Ali 27 Ahmet 272 Mehmet 62 Veli 112 Arda 77 Doruk 437 dtype: int64 Ali 2.236068 Ahmet 7.348469 Mehmet 3.464102 Veli 4.690416 Arda 3.872983 Doruk 9.327379 dtype: float64

Seri (Series) Seriler üzerinde doğrudan filtreleme de yapılabilir. indisler = ['Ali','Ahmet','Mehmet','Veli','Arda','Doruk'] degerler = [5, 54, 12, 22, 15, 87] a = pd.series(degerler,index=indisler) print(a[a > 50]) Ahmet 54 Doruk 87 dtype: int64

DataFrame DataFrame'ler, birden fazla seriden oluşan tablolar olarak düşünülebilir. Dataframe'lerin her bir sütunu bir seri'dir. ogrenciler = { 'isim' : ['Ali','Ahmet','Mehmet','Veli','Arda','Doruk'], 'not' : [5, 54, 12, 22, 15, 87], 'yas' : [21, 24, 18, 28, 20, 22]} a = pd.dataframe(ogrenciler) print(a) 0 Ali 5 21 1 Ahmet 54 24 2 Mehmet 12 18 3 Veli 22 28 4 Arda 15 20 5 Doruk 87 22

DataFrame DataFrame'ler sütunlar birer seri olduğundan doğrudan herhangi bir sütun üzerinde işlem yapılabilir ogrenciler = { 'isim' : ['Ali','Ahmet','Mehmet','Veli','Arda','Doruk'], 'not' : [5, 54, 12, 22, 15, 87], 'yas' : [21, 24, 18, 28, 20, 22]} a = pd.dataframe(ogrenciler) print(a['not']*1.5) print(a['yas'].sum()) 0 7.5 1 81.0 2 18.0 3 33.0 4 22.5 5 130.5 133

DataFrame DataFrame sütunları içinde veri olmasa da önceden tanımlanabilir. Bu durumda, veri olmayan sütunlar "NaN" olacaktır. ogrenciler = { 'isim' : ['Ali','Ahmet','Mehmet','Veli','Arda','Doruk'], 'not' : [5, 54, 12, 22, 15, 87], 'yas' : [21, 24, 18, 28, 20, 22]} a = pd.dataframe(ogrenciler,columns=['isim','not','yas','giris']) print(a) isim not yas giris 0 Ali 5 21 NaN 1 Ahmet 54 24 NaN 2 Mehmet 12 18 NaN 3 Veli 22 28 NaN 4 Arda 15 20 NaN 5 Doruk 87 22 NaN

DataFrame DataFrame sütunları üzerindeki işlemler dışında doğrudan tablo için de işlemler yapılabilir. ogrenciler = { 'isim' : ['Ali','Ahmet','Mehmet','Veli','Arda','Doruk'], 'not' : [5, 54, 12, 22, 15, 87], 'yas' : [21, 24, 18, 28, 20, 22]} a = pd.dataframe(ogrenciler) print(a) print(a.t) 0 1 2 3 4 5 isim not yas 0 Ali 5 21 1 Ahmet 54 24 2 Mehmet 12 18 3 Veli 22 28 4 Arda 15 20 5 Doruk 87 22 isim Ali Ahmet Mehmet Veli Arda Doruk not 5 54 12 22 15 87 yas 21 24 18 28 20 22

Örnek: Aşağıdaki verileri kullanarak öğrencilerin yarıyol notunu bularak ortalama sütununa yazınız (%25 arasınav, %25 ödev ve %50 final şeklinde).

Çözüm: Aşağıdaki verileri kullanarak öğrencilerin yarıyol notunu bularak ortalama sütununa yazınız (%25 arasınav, %25 ödev ve %50 final şeklinde). ogrenciler = { 'isim' : ['Ali','Ahmet','Mehmet','Veli','Arda','Doruk'], 'arasinav' : [5, 54, 12, 22, 15, 87], 'odev' : [68, 44, 87, 74, 68, 70], 'final' : [55, 64, 77, 88, 100, 90]} a = pd.dataframe(ogrenciler,columns=['isim','arasinav','odev','final','ortalama']) a['ortalama'] = a['arasinav']*0.25+a['odev']*0.25+a['final']*0.50 print(a)

Kaynakça 1 Wentworth, P., Elkner, J., Downey, A.B., Meyers, C. (2014). How to Think Like a Computer Scientist: Learning with Python (3nd edition). 2 Pilgrim, M. (2014). Dive into Python 3 by. Free online version: DiveIntoPython3.org ISBN: 978-1430224150. 3 Summerfield, M. (2014) Programming in Python 3 2nd ed (PIP3) : - Addison Wesley ISBN: 0-321-68056-1. 4 Jones E, Oliphant E, Peterson P, et al. SciPy: Open Source Scientific Tools for Python, 2001-, http://www.scipy.org/. 5 Millman, K.J., Aivazis, M. (2011). Python for Scientists and Engineers, Computing in Science & Engineering, 13, 9-12. 6 John D. Hunter (2007). Matplotlib: A 2D Graphics Environment, Computing in Science & Engineering, 9, 90-95. 7 Travis E. Oliphant (2007). Python for Scientific Computing, Computing in Science & Engineering, 9, 10-20. 8 Goodrich, M.T., Tamassia, R., Goldwasser, M.H. (2013). Data Structures and Algorithms in Python, Wiley. 9 http://www.diveintopython.net/ 10 https://docs.python.org/3/tutorial/ 11 http://www.python-course.eu 12 https://developers.google.com/edu/python/ 13 http://learnpythonthehardway.org/book/