CodeGym /Kurslar /Python SELF AZ /Məlumatların formatlaşdırılması və cədvəllərin artıq info...

Məlumatların formatlaşdırılması və cədvəllərin artıq informasiyadan təmizlənməsi

Python SELF AZ
Səviyyə , Dərs
Mövcuddur

1. Bu niyə lazımdır?

Təsəvvür et ki, sən məlumat fabriki üzrə mühəndissən. Sənin vəzifən xam materialı (verilənləri) analiz edib təşkil etməkdir ki, onlardan hazır məhsul (insaytlar, hesabatlar) alınsın. Təmizləmə və formatlama olmadan məlumatların qarışıq bir ehtiyat hissələri yığını kimi qalacaq ki, onlardan bir şey yığmaq çətin olacaq.

Təmiz və formatlanmış məlumatlar - bu yalnız estetika və oxunaqlılıq məsələsi deyil, həm də düzgün analiz və modellər qurmaq üçün vacib şərtdir. Yanlış işlənmiş məlumatlar səhv nəticələrə gətirib çıxara bilər, heç kim iş gününün sonunda başa düşmək istəməz ki, işçilərin orta yaşını illərlə deyil, məlumat parçaları ilə hesablamısan.

Formatlaşdırmanın əsas tapşırıqları

Koda keçməzdən əvvəl gəlin problemin nə olduğunu və formatlaşdırmanın bu problemləri necə həll etdiyini araşdıraq:

  • Boş sətir və sütunların silinməsi: Bunlar boş ciblər kimidir — heç bir fayda gətirmir, amma asanlıqla çaşdırıcı ola bilər.
  • Təkrarlanan məlumatların silinməsi: Eyni məlumatın təkrar olunması bizim analizimizdə səs-küy yaradır.
  • Əksik dəyərlərin doldurulması: Bu pendirdəki dəliklərə bənzəyir, hansı ki, bəzən onu dadlı bir şeylə doldurmaq lazımdır.
  • Veri növlərinin çevrilməsi: Yaşın rəqəm olduğunu yoxlamaq vacibdir, mətn deyil. Çünki "iş təcrübəsi 25 il" kimi başlıqla yaş qarışdırılmasın.

2. Məlumatların təmizlənməsi və formatlaşdırılması üçün alətlər

İndi bunun nə üçün lazım olduğunu bildiyimiz üçün, gəlin bu işdə bizə kömək edəcək alətlərə nəzər salaq, sanki bu, gəzintidə İsveçrə bıçağıdır:

  • Boş dəyərlərin silinməsi: dropna()
  • Dublikatlarla işləmək: duplicated()drop_duplicates()
  • Boş yerlərin doldurulması: fillna()
  • Məlumat tiplərinin çevrilməsi: astype()

Boş dəyərlərin silinməsi

Boş dəyərlər həmişə vaxtında olmayan şeylərdən biridir. dropna() vasitəsilə bunlardan, sanki köhnə lazımsız corablardan, qurtula bilərik. Gəlin bir nümunəyə baxaq:

Python

import pandas as pd

# İçində boş yerlər olan DataFrame yaradırıq
data = {'Ad': ['Anna', 'İvan', None, 'Mariya'],
        'Yaş': [29, None, 34, 23],
        'Şəhər': ['Moskva', 'Sankt-Peterburq', 'Novosibirsk', None]}

df = pd.DataFrame(data)

# NaN dəyərləri olan sətirləri silirik
cleaned_df = df.dropna()

print(cleaned_df)

Bu kod ən azı bir boş dəyər olan bütün sətirləri siləcək.

Dublikatlarla işləmək

Bəzən məlumatlarınızda elə dublikatlar olur ki, "Fərqləri tap" oyununda fərqlər olmadığı kimi. Belə qeydləri drop_duplicates() vasitəsilə seçib ata bilərik.

Python

# İçində dublikatlar olan DataFrame yaradırıq
data = {'Ad': ['Anna', 'İvan', 'Anna', 'Mariya'],
        'Yaş': [29, 34, 29, 23]}

df = pd.DataFrame(data)

# Dublikatları silirik
unique_df = df.drop_duplicates()

print(unique_df)

Boş yerlərin doldurulması

Boş yerləri müxtəlif yollarla doldurmaq olar, məsələn, orta dəyər və ya sabit bir dəyər ilə. fillna() metodu sizə bu işdə kömək edəcək:

Python

# 'Yaş' sütununda boş yerləri sütunun orta qiyməti ilə doldururuq
df['Yaş'] = df['Yaş'].fillna(df['Yaş'].mean())

print(df)

Məlumat tiplərinin çevrilməsi

Məlumatların çevrilməsi bəzən vacibdir ki, rəqəmlər gözlənilən yerdə mətn dəyərlərinə ilişib qalmayasınız:

Python

# 'Yaş' sütununun növünü tamsayıya çeviririk
df['Yaş'] = df['Yaş'].astype(int)

print(df)

3. Praktiki tətbiq: real verilər dəstinin təmizlənməsi

Gəlin real bir verilər dəstini hesabat üçün təmizləyək və formatlayaq. Məsələn, satış məlumatları haqqında bir hipotetik Excel faylı götürək.

Python

# Excel-dən verilərin yüklənməsi
filename = "sales_data.xlsx"
df = pd.read_excel(filename)

# Sütunların hər hansı birində boş olan sətrlərin silinməsi
df = df.dropna()

# Təkrarlanan qeydlərin silinməsi
df = df.drop_duplicates()

# Boş dəyərlərin həmin sütun üçün orta dəyər ilə doldurulması
df['Satışlar'] = df['Satışlar'].fillna(df['Satışlar'].mean())

# Verilənlərin növünün dəyişdirilməsi
df['Məhsul kodu'] = df['Məhsul kodu'].astype(str)

# Formatlanmış verilərin yenidən Excel-ə yazılması
df.to_excel("cleaned_sales_data.xlsx", index=False)

Nəticədə, analiz və hesabat hazırlamaq üçün hazır, dəqiq və təmiz bir Excel faylı alacağıq.

4. Verilənləri təmizləyərkən tipik səhvlər

Elektronikanı düzəltməkdə olduğu kimi, verilənlərlə də həmişə nəsə qarışdırmaq mümkündür, ona görə də aşağıdakı tipik səhvlərdən qaçmağa çalışın.

Lazımlı məlumatları təkrarlarla birlikdə silmək. Bəzən təkrarlar verilənlərdəki səhvlərin siqnalı ola bilər və onların təbiətini araşdırmağa dəyər. Verilənlərin tiplərini qarışdırmayın. Bəzən başqa bir formata çevirmək asan görünə bilər, ancaq bu, dönüşümün mümkünlüyünü yoxlamadan verilənlərin itirilməsinə səbəb ola bilər.

Bu məsləhətlərə əməl edərək və təklif olunan addımları yerinə yetirərək verilənlərlə asanlıqla və məmnuniyyətlə işləyə bilərsiniz, hətta onlar əvvəlcə bir analitikin qorxulu yuxusuna bənzəsə də. Və unutmayın, verilənlər də kodunuz kimi təmiz olmalıdır!

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION