Burada derdim NY'deki en popüler köpekleri Python ile grafiksel olarak görmekti. *Aynı işe biraz da AI katmak için bkz. [[pandasAI ile Python'da Basit Veri Analizi]]* Gerekli modülleri yüklüyoruz. ```python import pandas as pd import researchpy as rp import seaborn as sns import matplotlib.pyplot as plt from scipy.stats import norm ``` indirdiğimiz [CSV](https://catalog.data.gov/dataset/nyc-dog-licensing-dataset/resource/cdba7b07-e782-4f23-958e-15121c2a58d4) dosyasını aktarıyoruz. ```python df = pd.read_csv('NYC_Dog_Licensing_Dataset.csv') ``` boş hücreleri attık. ```python new_df = df.dropna() ``` köpek ırkı bilinmiyorsa atıyoruz. ```python NYCData = new_df[new_df.BreedName != 'Unknown'] ``` dağılım... ```python NYC = rp.summary_cat(NYCData['BreedName']) ``` ilk 10 sıradaki köpek ırkını aldık, gereksiz sütunu yolladık. ```python NYCTop10 = NYC.iloc[:10] NYCTop10F = NYCTop10.drop('Variable', axis=1) ``` sütunları seriye çevirdim ama sanırım gerek yoktu. ```python NYCBreed = NYCTop10F['Outcome'] NYCCount = NYCTop10F['Count'] NYCPerc = NYCTop10F['Percent'] ``` bir tane grafik deneyelim pyplot ile (çorba bir şey olacak). ```python colors = ['green', 'blue', 'purple', 'brown', 'teal'] plt.bar(NYCBreed, NYCCount, color = colors) plt.title('NYC Köpekleri', fontweight = 'bold', fontsize=18) plt.xlabel('Irk', fontsize=14) plt.ylabel('Toplam Sayı', fontsize=14) ``` şimdi seaborne ile biraz daha hoş olsun (eksenler yer değiştirdi, okunaklı falan). ```python fig, NYCGr = plt.subplots(figsize =(20, 8)) NYCGr.barh(NYCBreed, NYCCount, color = ['green', 'blue', 'purple', 'brown', 'teal', 'orange', 'red', 'yellow', 'lightgrey', 'turquoise']) NYCGr.xaxis.set_tick_params(pad = 10) NYCGr.yaxis.set_tick_params(pad = 5) NYCGr.grid(b = True, linestyle ='-.', linewidth = 0.5, alpha = 0.2) NYCGr.invert_yaxis() plt.xlabel('Toplam Sayı', fontsize = 16) plt.ylabel('Irk', fontsize = 16) plt.title('NYC Köpekleri', fontweight = 'bold', fontsize=20, color='#30363d') sns.despine(); sns.despine(right=True); sns.set(style="whitegrid"); plt.rcParams['figure.dpi'] = 360 ``` biraz daha dokunuş, bu sefer fena olmadı sanki... ```python SNSP = sns.barplot(y= Outcome, x= Count, data=NYCTop10F, palette = 'hls') plt.xlabel('Toplam Sayı', fontsize = 12, fontweight = 'bold', color='#000099', loc='center') plt.ylabel('Köpek Irkı', fontsize = 12, fontweight = 'bold', color='#000099') plt.title('New York Top 10 Köpekleri', fontsize=16, color='#006666', pad=20, loc='left', fontstyle='italic') sns.despine(); sns.despine(right=True); sns.set(style="whitegrid"); plt.rcParams['figure.dpi'] = 360 SNSP.set(xticklabels=[]) SNSP.bar_label(SNSP.containers[0], label_type='edge', rotation=15, padding=3) ``` ^c6a632 ![[Fmhl_m9X0AIMI7S.jpeg]]