import pandas as pd
import sqlite3
import seaborn as sns
conn = sqlite3.connect("araclar_.db")
sql = "select * from i20"
df = pd.read_sql(sql, conn)
df.columns = df.columns.str.replace("il_ilce", "sehir") #il_ilce sütun adını sehir yaptık
sns.set_theme()
sns.set(rc = {"figure.dpi": 300, "figure.figsize":(12,9)})
df["sehir"] = df["sehir"].str.split("\n").str[0] #il_ilce'yi sadece illeri aldık
sehir1 = input() #adana
sehir2 = input() #antalya
sehir3 = input() #istanbul
sehirler = df[(df.sehir == sehir1) | (df.sehir == sehir2) | (df.sehir == sehir3)] #3 tane örnek il alıyoruz örneğin adana,antalya,istanbul verilerini aldık
tek = sehirler.loc[:,"sehir"] #verilerin sadece sehir sütununu aldık
tek.value_counts().plot(kind="bar", color="red") #grafiği çizdirme
Arabalar veritabanındaki i20 tablosundaki verileri işleyip sonrada seaborn ile görselleştirme işlemi yapıyorum bunu web API olarak yapmam gerekiyor kullanıcı şehir parametrelerini giricek ve girilen parametrelere göre grafiği çizdirmem gerekiyor bunu nasıl yapabilirim ?
Cunku senin de bunu “web API” yapilmasi gerektigine inanan partiye geri sorman gerekiyor. Neden yapilmasi gerektigini bilmedigimiz bir API’yi tasarlayamayiz.
Yani aslinda tasarlariz. Kafamiza gore bir sekilde parametre alir, o an kolay gelen cozumle grafigi dondurur. Su siralar “web API” yazinca cikan protokol ve formatlardan birini kullanir. Evet evet, olur.
Api’lar genelde veri iletmekten ileri gitmezler. Bakınız Api nedir
Basit bir örnek ile anlatayım:
Mesela bir api yazdık ve bu api bize parametre olarak gönderilen video isimlerine göre videonun base64 formatında şifrelenmiş kodlarını göndersin. Ama elinizde normalde işe yaramayacak bir veri olduğu için bunu uygun formatta kendi sistemimizde dosyaya yazdırmamız gerekiyor: https://example.com/api/'video_adı' bu adreste ‘video’ adı kısmına Python Dersleri yazdığınız zaman size o videoyu göndermez ama o videonun base64 ile şifrelenmiş içeriğini gönderir ve bu içeriği aşağıdaki kodu kullanarak tekrar videoya dönüştürebilirsiniz:
import base64
import os
url = "https://example.com/api/"
response = rq.get(f"{url}python-dersleri")
data = response.json() # Buradaki veri standart olarak json olur
with open("python-dersleri.mp3","w") as file:
decoded_data = (base64.b64decode(data)).decode("utf-8") # Şifreleme değişiklik gösterebilir
# sonra da sistemdeki bir uygulamayla açabilirsiniz
os.system("vlc python-dersleri.mp3")
Bu koda benzer bi şekilde veriyi işleyebilirsiniz ve bu veriyi istediğiniz gibi kullanabilirsiniz ancak api’larda arayüz olmadığı için grafikselleştirme yapamazsınız. Yaparsanız o yaptığınız api olmaz bir web sitesi olur.