Veri Bilimi & Veri Manipülasyonu - Pandas
Dış Kaynaklı Veri Seti Okuma-1
Dış kaynaklı veri seti okuma, bilgisayar ortamına kayıtlı bir veri dosyasının program içine dahil edilmesi anlamına gelmektedir.
Veri dosyalarının türleri
Bilgisayar ortamında kayıtlı olan veri dosyalarının türleri ".csv" , ".xlsx" veya ".json" gibi formatlarda olabilmektedir. Pandas kütüphanesi aracılığı ile aşağıda sıralanan yapılar ile ilgili dosyanın türüne göre veriler okunarak DataFrame şeklinde görüntülenebilmeketedir.
- read_clipboard
- read_csv
- read_excel
- read_feather
- read_fwf
- read_gbq
- read_hdf
- read_html
- read_json
- read_orc
- read_parquet
- read_pickle
- read_sas
- read_spss
- read_sql
- read_sql_query
- read_sql_table
- read_stata
- read_table
- read_xml
Yukarıda sayılan dosya okuma türlerinden önemli olan bazılarını inceleyelim.
**Not-1: "read_clipboard" yapısı diğerlerinden biraz farklı olduğu için daha sonraki konu olan "Clipboard Methodu" konusunda ele alınacaktır.
**Not-2: Örneklerle gösterilenler haricinde diğer dosya türlerine de yaklaşık olarak aynı şekilde okuma yapılmaktadır. Örneklerde kullanılacak olan "Titanic" veri seti farklı dosya türleri şekline dönüştürelerek kaydedilmiştir.
Titanic veri setinin hikayesi: Titanic gemisinde yolculuk eden yolcuların bilgilerini içeren 891 satırlık bir veri setidir.
1. ".csv": Virgülle ayrılmış değerler anlamına gelmektedir. (titanic.csv)
Dosya içerik görünümü aşağıdaki gibidir;
Yukarıda görünen ".csv" dosyasındaki elemanlar birbirlerinden virgül ile ayrılmıştır. Bu elemanları daha düzgün bir tablo ortamında görüntülemek için
df=pd.read_csv("titanic.csv")
df.head()
Çıktı:
2. ".xlsx", excel formatındaki veri setidir. (titanic.xlsx)
Dosya içerik görünümü;
df=pd.read_excel("titanic.xlsx")
df.head()
Çıktı:
3. ".json", anahtar ve değeri çiftlerine sahip bir dosya biçimidir.
Dosya içerik görünümü;
df=pd.read_json("titanic.json")
df
Çıktı:
4. ".db", veri tabanı dosyasından veri okumak. (sqlite gösterilmiştir.)
#sqlite 3 veritabanı kütüphanesini import edildi
import sqlite3
#veritabanına bağlanıldı
conn=sqlite3.connect('DbName.db')
#veri tabanındaki ilgili tabloyu seç
sql_query="SELECT * FROM tablo_Adi"
#seçilen sorguyu df olarak kaydet
df=pd.read_sql(sql_query,conn)
5. API, Web API üzerinden genellikler veriler JSON veya XML formatında yayımlanır.
Web sayfası içerik görünümü;
#Web sitesine bağlanabilmek için requests kütüphanesi içe aktarılır.
import requests
#web sitesinin adresi alınır.
url="https://jsonplaceholder.typicode.com/todos"
#response olarak kaydedilir.
response=requests.get(url)
#web sitesine bağlanıp-bağlanmadığı kontrol edilir. 200 dönerse bağlantı sağlanmıştır.
response.status_code
Çıktı:
200
#çekilen veriler json formatına çevrilerek DataFrame'ye aktarılır.
df=pd.DataFrame(data=response.json())
df.head()
Çıktı:
6. ".txt", txt formatındaki veriler ".csv" yönteminde kullanılan "read_csv" şeklinde okunur.
Dosya içerik görünümü;
df=pd.read_csv("titanic.txt")
df
Çıktı:
7. ".pkl", nesneleri temsil eden bayt akışını depolar. Dosyayı "txt" olarak açtığınızda anlamsız veriler ile karşılaşırsınız. (titanic.pkl)
Dosya içerik görünümü;
df=pd.read_pickle("titanic.pkl")
df.head()
Çıktı: