2023 Veri Bilimi Trendleri ve Maaşları

Python ile veri bilimi maaşları veri setini kullanarak veri görselleştirme

Tirendaz Akademi
6 min readMay 3, 2023
Photo by Alexander Grey on Unsplash

Veri analizinin en önemli aşamalarından biri veri görselleştirmedir. Veri görselleştirme ile verilerinizi daha iyi anlayabilir ve harika modeller kurabilirsiniz.

Bu yazıda, 2023 veri bilimi maaşları veri setini kullanarak veriye dayalı meslekleri inceleyeceğiz. Makalenin sonunda bu meslekler ile ilgili bazı tavsiyelerde bulunacağım.

Hadi verimizi yüklemek ile başlayalım.

Veri Setini Yükleme

Kullanacağımız veri seti Kaggle’da bulunan veri bilimi maaşları 2023 veri seti.

Veri seti

İlk önce veri setini yükleyelim. Veri setini yüklemek için Pandas kütüphanesini kullanalım. Bu kütüphane veri manipülasyonu yapmak için harika bir kütüphanedir.

import pandas as pd

Bu derste kullandığım notebook’un linkine buradan ulaşabilirsiniz. Şimdi bu kütüphane içindeki read_csv metodu ile veri setini yükleyelim.

df=pd.read_csv('ds_salaries.csv')

Veri setinizin notebook ile aynı dizinde olduğuna dikkat edin. Şimdi veri setinin ilk 5 satırını görelim. Bunun için head metodunu kullanalım.

df.head()

Gördüğünüz gibi veri setinde çalışma yılı, senior, junior gibi tecrübe seviyesi, uzaktan çalışma, sözleşme gibi çalışma şekli, meslek ismi, maaş ve şirket lokasyonu gibi sütunlar var.

Tamam veri seti kısaca tanıdık. Şimdi veri setindeki satır ve sütun sayılarına bakalım. Bunun için shape metodunu kullanalım.

print("Number of rows and columns in the dataset:",df.shape)

# Output
Number of rows and columns in the dataset: (3755, 11)

Gördüğünüz gibi veri setinde 3755 satır ve 11 sütun var. Şimdi veri setinin sütunlarının özelliklerini inceleyelim. Bunun için info metodunu kullanalım.

df.info()

Burada sütunların isimlerini, sütun sayılarını, eksik verileri ve sütun tiplerini görebilirsiniz. Gördüğünüz gibi sütunlarda eksik veri yok. Eksik verileri kontrol etmek için isnull metodunu kullanabiliriz. Hadi bunu gösterelim.

print("Number of missing data in the dataset:",df.isnull().sum().sum())

# Output
Number of missing data in the dataset: 0

Unutmayın, bir sum metodu ile her bir sütundaki eksik verileri iki sum metodu kullanarak tüm veri setindeki eksik verileri görebiliriz. Burada gördüğünüz gibi veri setinde eksik veri yok.

Harika, veri setimiz gayet temiz. Tabi her zaman veri setleri böyle temiz olmaz. Verileri nasıl veri ön işleme yapıp temizleyeceğinizi kanalımızdaki veri bilimi derslerinde bulabilirsiniz.

Şimdi devam edelim ve sütunlardaki tek değerlere bakalım.

print(df.nunique())

Vee sütunlardaki unique değerlerin sayısı ekrana yazıldı. Mesela yıl sütundaki tek değerlere bakalım.

df["work_year"].value_counts()

# Output
2023 1785
2022 1664
2021 230
2020 76
Name: work_year, dtype: int64

Gördüğünüz gibi veri setinde 2020'den 2023'e kadar 4 yıl var.

Süper. Şimdiye kadar veri setini yükledik ve veri setini tanımak için bazı metotları kullandık.

2023'deki En İyi 10 Meslek

Hadi şimdi 2023'de en fazla talep gören ilk 10 mesleğe bakalım. Öncelikle 2023 yılını ve job_title sütununu seçelim. Ardından bu en fazla tercih edilen ilk 10 mesleği alalım.

jobs = df[df['work_year']==2023]['job_title'].value_counts().nlargest(10).reset_index()

Tamam, en fazla 10 mesleği seçtik. Şimdi bu mesleklerin sütun grafiğini çizdirelim. Bunun için matplotlib ve seaborn kütüphanelerini kullanalım. Bu kütüphaneler veri görselleştirme için harikadır. Bu kütüphaneleri A’dan Z’ye öğrenmek için kanalımızdaki veri görselleştirme derslerini izleyebilirsiniz.

Bu kütüphaneleri kullanmak için öncelikle import edelim.

import matplotlib.pyplot as plt
import seaborn as sns

Ardından grafiklerin özelliklerini ayarlayalım.

sns.set_theme()
sns.set(rc = {"figure.figsize":(10,6), "figure.dpi":300})

Harika grafik özelliklerini ayarladık. Şimdi devam edelim ve ilk 10 mesleğin grafiğini çizdirelim.

fig, ax = plt.subplots()
ax = sns.barplot(ax = ax, data=df, y = jobs['index'], x = jobs.job_title)
ax.set(ylabel='Job Titles',xlabel='Counts', title='Top 10 Job Titles in 2023')
ax.bar_label(ax.containers[0], padding = 2)

Gördüğünüz gibi en fazla veri mühendisi var daha sonra veri bilimci geliyor. Şaşırdık mı hayır. Çünkü veri mühendisliği yeni trend.

Veri mühendisi ne iş yapar diye sorabilirsiniz. Veri mühendisleri, kabaca verileri analize hazır hale getirir. Veri bilimi projelerinde veri mühendisleri kritik bir rol oynar.

Tamam ilk 10 mesleği gördük. Şimdi devam edelim ve tecrübe seviyelerine bakalım.

Deneyim Düzeyleri

Öncelikle deneyim sütunundaki tek değerle bakalım.

df['experience_level'].unique()

# Output
array(['SE', 'MI', 'EN', 'EX'], dtype=object)

Gördüğünüz gibi 4 farklı tecrübe kategorisi var. Bu değerler kısaltılmış halde. Bunların uzun değerlerini yazalım.

df['experience_level'] = df['experience_level'].replace('EN','Junior')
df['experience_level'] = df['experience_level'].replace('MI','Mid-level')
df['experience_level'] = df['experience_level'].replace('SE','Senior')
df['experience_level'] = df['experience_level'].replace('EX','Director')

Tamam, tecrübe değerlerinin isimlerini değiştirdik. Şimdi bunların sayısının sütun grafiğini çizdirelim.

fig, ax = plt.subplots()
sns.countplot(ax = ax, data = df, x = df.experience_level)
ax.set(xlabel='', ylabel='Counts', title='Experience Levels')
ax.bar_label(ax.containers[0])

Gördüğünüz gibi en fazla senior daha sonra mid-level ve Junior var. En az sayıda ise director var.

Harika. Deneyim seviyelerini gördük. Şimdi devam edelim ve istihdam türlerine bakalım.

İstihdam Türleri

Veri biliminde bir kaç istihdam türü var. Bunları görmek için öncelikle istihdam türleri sütununu ele alalım.

df['employment_type'].unique()

# Output:
array(['FT', 'CT', 'FL', 'PT'], dtype=object)

Gördüğünüz gibi 4 istihdam türü var. Bunların isimlerini değiştirelim.

df['employment_type'] = df['employment_type'].replace('FT','Full-Time')
df['employment_type'] = df['employment_type'].replace('PT','Part-Time')
df['employment_type'] = df['employment_type'].replace('CT','Contract')
df['employment_type'] = df['employment_type'].replace('FL','Freelance')

Şimdi deneyim düzeylerine göre her bir istihdam türünün sayılarını görelim.

fig, ax = plt.subplots()
sns.countplot(ax = ax, data = df, x = df.employment_type, hue = 'experience_level')
ax.set(xlabel='', ylabel='Counts', title='Employmnetn Types Count')
ax.bar_label(ax.containers[0])
ax.bar_label(ax.containers[1])
ax.bar_label(ax.containers[2])
ax.bar_label(ax.containers[3])

Gördüğünüz gibi full time çalışan en fazla senior. Daha sonra mid-level ve Junior. Yine en az sayıda director var.

Tamam, çalışma kategorilerine baktık. Şimdi tecrübe seviyelerine göre ortalama maaşlara bakalım.

Deneyim Düzeylerine Göre Ortalama Maaşlar

Deneyim düzeylerine göre ortalama maaşlar farklılık gösterir. Bu farklılığı görmek için öncelikle çalışma tipine göre verileri gruplayalım ve salary-in-usd sütununu seçelim. Bunların ortalamasını alalım ve 0. basamağa göre yuvarlayalım. Bu değerleri azalana göre sıralayalım. En son indeksleri resetleyelim. En son sütun grafiğimizi çizdirelim.

avg_salaries = df.groupby('employment_type')['salary_in_usd'].mean().round(0).sort_values(ascending = False).reset_index()
fig, ax = plt.subplots()
sns.barplot(ax =ax,data = df , x = 'employment_type', y = 'salary_in_usd',errorbar = None, hue = 'work_year')
ax.set(xlabel='', ylabel='Dollars', title='Average Salaries in Dollars Per Year')
ax.bar_label(ax.containers[3], padding = 2)

Kırmızı ile gösterilen 2023 ortalama maaşlar. Beklediğimiz gibi ortalama olarak en çok full-time çalışanlar maaş alıyor. Daha sonra freelance çalışanlar. En son yıllara göre maaş ortalamalarına bakalım.

Yıllara Göre Maaş Ortalamaları

Son yıllarda veriye dayalı meslekler çok popüler oldu. Bunun maaşların yansımasına bakalım. Öncelikle maaşları seçelim ardından yıllara göre bu verileri gruplayalım ve mean metodu ile ortalamalarını bulalım.

year_based_salary = df['salary_in_usd'].groupby(df['work_year']) .mean()
plt.title("Average Salaries based on Work Year")
plt.xlabel('Work Year')
plt.ylabel('Salary')
sns.lineplot(x=['2020', '2021', '2022','2023'], y=year_based_salary)
plt.show()

Gördüğünüz gibi her sene veriye dayalı mesleklerin ortalama maaşları artıyor. Özellikle 2021'den 2022'ye büyük bir sıçrama olmuş.

Son Sözler

Bu makalede, veriye dayalı mesleklerin maaşlarını inceledik. Son yıllarda üretilen verinin artması ile veriye dayalı meslekler çok popüler oldu. En çok talep gören alan veri mühendisliği. Daha sonra veri bilimi.

Sonuç olarak araştırmayı seviyorsanız veri bilimci olmanızı tavsiye ederim. Model kurmayı ve modeli canlıya almayı seviyorsanız makine öğrenmesi mühendisliğine yönelebilirsiniz. Verileri analiz etmeyi seviyorsanız veri analistliği tam size göre. Eğer bulut bilişim, veri tabanları, programlama gibi alanlara ilginiz varsa veri mühendisliğini öneririm.

Makaleyi okuduğunuz için teşekkür ederim. Bu derste kullandığım notebook’un linkine buradan ulaşabilirsiniz. Hadi bağlanalım: YouTube | Udemy | Twitter | Instagram | LinkedIn.

Aşağıdaki yazılar da dikkatinizi çekebilir:

Yazıyı beğendiyseniz alttaki alkış butonuna bir kaç defa basmayı unutmayın 👏 Gelecek yazılarda görüşmek üzere. Şimdilik hoşça kalın.

--

--