Python - Pandas

 Pandas

Dataset import etmek (Data Frame):

read_csv(r'faylin_yerlesdiyi_yer_ve_faylin_adi.csv')

read_excel(r'faylin_yerlesdiyi_yer_ve_faylin_adi.csv', sheet_name = 'Sheet1')

Data Frame melumatlarini elde etmek:
           
df.head(8): ilk 8 setri göstərir (moterizede yazilan reqeme uygun) 
           
df.tail(5): son 5 setri göstərir (moterizede yazilan reqeme uygun)

df.columns: sutun adlarini göstərir

df.axes: setir sayini ve sutun adlarini göstərir

df.shape: nece setir ve nece sutun oldugunu göstərir

df.ndim: data frame-nin nece ölçülü oldugunu göstərir

df.size: data frame-nin element sayini verir. Yeni setir x sutun

df.values: dataframe-in deyerlerini gosterir amma numpy array kimi. sutunlara ayirmir

df.info(): data frame haqqinda umumi melumatlari gosterir. nece setir, hansi sutunlar var ve s. df.describe(): dataframe-de reqem tipli sutunlardaki melumatlar haqqinda 5S Statistics melumatlarini verir     (count, mean, std, min, 25%, 50%, 75%, max)

df['Sutun_adi'].unique(): data frame-de her hansi sutunda olan unique deyerleri getirmek ucun istifade olunur

df['Sutun_adi'].nunique(): data frame-de her hansi sutunda olan unique deyerlerin sayini getirmek ucun istifade olunur

df['Sutun_adi'].value_counts(): uygun sutunda her bir deyerin nece defe yazildigini gosterir df['Sutun_adi'].count(): boş olmayan (NaN olmayan) dəyərlərin sayını tapmaq üçün istifadə olunur.

df['Sutun_adi'].mean(): ortalamani gostermek ucun istifade olunur

df['Sutun_adi'].median(): mediani gostermek ucun istifade olunur

df['Sutun_adi'].std(): std-ni (standart sapmanı) göstərmək üçün istifadə olunur. std() funksiyasi NaN (boş) dəyərləri avtomatik olaraq nəzərə almır, yalnız NaN olmayan dəyərləri istifadə edir. df['Sutun_adi'].var(): variasiyani gostermek ucun istifade olunur

df['Sutun_adi'].min(): minimum deyeri gostermek ucun istifade olunur

df['Sutun_adi'].max(): maximum deyeri gostermek ucun istifade olunur

df['Sutun_adi'].sum(): sum-u (cemi) tapmaq ucun istifade olunur

Data Frame elementlerini getirmek (Eyni List-lərdə və Numpy Array-lərdə olduğu kimi burda da parçalayıb gətirə bilərik məlumatları):

df[1:20:]: 1ci elemetden 20ci elemente qeder deyerleri getirir

df[1:20:][['Sutun_adi_1', 'Sutun_adi_2']]: 1ci elemetden 20ci elemente qeder gosterilen sutunlarin deyerleri getirir

Sonradan Data Frame-ə sütun əlavə etmək və ya mövcud sütunu-indexi silmək

df['Yeni_sutun'] = df['sutun_1'] / df['sutun_2'] : Yeni sutun adli bir sutun elave edir df.drop('Yeni_sutun', axis=1, inplace = True): Yeni sutun adli sutunu silir.      

axis=1 — sütunları silmək     

axis=0 — sətirləri silmək     

inplace=True — orijinal DataFrame-də dəyişiklik edilir     

inplace=False — yeni bir DataFrame qaytarılır, orijinal dəyişdirilmir

df.drop(1, axis = 0): index-i 1 olan setiri silir (axis = 0 olduguna gore)

Data Frame elementlərinin filtrlənməsi

df[df['Month'] != 'January']: Bu kod, Data Frame-də Month sutununun January olmayan sətirlərini seçir və həmin sətirləri göstərir.

df[(df['Age'] > 18) & (df['Occupation'] == 'Engineer')]: Age 18-den boyuk ve Occupation Engineer olan setirleri secir

loc və iloc  loc: index adı ilə elementlərə çata bilərik     

df.loc[0:2, 'Ad']: Sətir 0-dan 2-ə qədər adı 'Ad' olan sütunlardan ibarət setirleri getirir     

df.loc[0:2, 'Ad':'Yas']: Sətir 0-dan 2-ə qədər adı 'Ad' sütundan Yas sutununa qeder setirleri getirir iloc: index nömrəsi ilə elementlərə çata bilərik     

df.iloc[0:2, 1]: Sətir 0-dan 2-ə qədər 1 nomreli index-li setirleri getirir     

df.iloc[0:2, 1:10]: Sətir 0-dan 2-ə qədər 1 nomreli index-li setirden 10 monreli index-li sutuna qeder setirleri getirir

reset_index() metodunun əsas məqsədi, DataFrame-in indexini sıfırlamaq və standart sıralama nömrələri (0, 1, 2, ...) ilə dəyişdirməkdir.

Drop Duplicates 

df.drop_duplicates(subset=['Ad', 'Yaş'], keep='last', inplace=True):     

subset=['Ad', 'Yaş']: Təkrarlanan sətirləri Ad və Yaş sütunlarına görə yoxlayır.                 keep='last': Təkrarlanan sətirlərdən yalnız sonuncusunu saxlayır         

keep parametri bu deyerleri ala bilir:              

first (default): İlk təkrarlanan sətir saxlanır             

last: Sonuncu təkrarlanan sətir saxlanır             

False: Bütün təkrarlanan sətirlər silinir    

inplace=True: Əməliyyat yerində edilir və orijinal df DataFrame-i dəyişdirilir.

Concat (Birləşdirmə) Əməliyyatı

concat() Metodunun Parametrləri:     

objs: Bir və ya bir neçə DataFrame-i birləşdirmək üçün istifadə olunan obyektlər. Bu parametr bir list və ya dictionary ilə təyin edilir.     

axis: Birləşmənin hansı istiqamətdə ediləcəyini göstərir:     

axis=0 (default): Sətir istiqamətində birləşmə (DataFrame-lər bir-birinin altına qoyulur).     

axis=1: Sütun istiqamətində birləşmə (DataFrame-lər bir-birinin yanına qoyulur). join: Hangi növ birləşdirmə (join) ediləcəyini müəyyən edir:        

join='outer' (default): Hər iki DataFrame-də olan bütün sütunları birləşdirir (əgər birində sütun yoxdursa, NaN ilə doldurulur).         

join='inner': Yalnız ortaq sütunlara əsaslanaraq birləşdirir.     

ignore_index: Bu parametr True olaraq təyin edildikdə, yeni birləşmiş DataFrame-in indexi sıfırdan başlayır.     

keys: Birləşdirilən DataFrame-ləri multi-index ilə etiketləmək üçün istifadə olunur.

Meselen:

pd.concat([df1, df2, df3], axis=0, ignore_index=False, join='outer', keys=['Group1', 'Group2', 'Group3']): Birləşdirilən DataFrame-ləri etiketləyir. İlk DataFrame (df1) Group1, ikinci (df2) Group2 və üçüncü (df3) Group3 olaraq etiketlənir. 

Melesen:

pd.concat([df1, df2, df3], axis=0, ignore_index=True, join='outer'):

[df1, df2, df3]: Bir neçə DataFrame birləşdirilir.

axis=0: DataFrame-lər sətir istiqamətində birləşdirilir (yəni, yeni sətirlər əlavə olunur).

ignore_index=True: Yeni DataFrame-də index sıfırlanır.

join='outer': Birləşdirilən DataFrame-lərdə hər iki DataFrame-dəki bütün sütunlar saxlanır. Yox olan sütunlar NaN ilə doldurulur.

Sutun adi deyisdirmek

rename() Metodunun Əsas Parametrləri:     

columns: Sütun adlarını dəyişdirmək üçün istifadə olunur. Bu parametrə, dəyişmək istədiyiniz sütun adlarını göstərən bir dictionary verirsiniz.     

index: Index adlarını dəyişdirmək üçün istifadə olunur. Bu parametrə də dəyişiklikləri göstərən bir dictionary verirsiniz.     

inplace: True təyin edildikdə, dəyişikliklər orijinal DataFrame-də tətbiq olunur, False (default) olduğunda isə yeni bir DataFrame qaytarılır. 

df_deyisdirilmis_adlar = df.rename(columns = {'Ad': 'Adım', 'Yaş': 'Yaşım', 'Şəhər': 'Şəhərim'}, index = {0: 'Birinci', 1: 'İkinci', 2: 'Üçüncü'}, inplace = True)

Merge ilə Birləşdirmə

merge() Funksiyasının Əsas Parametrləri:

left: Birinci DataFrame (birləşdirmək istədiyiniz sol DataFrame).

right: İkinci DataFrame (birləşdirmək istədiyiniz sağ DataFrame).

how: Hangi növ join əməliyyatının ediləcəyini təyin edir.     

'left': Yalnız sol DataFrame-dəki sətirlər saxlanır.     

'right': Yalnız sağ DataFrame-dəki sətirlər saxlanır.     

'outer': Hər iki DataFrame-də olan bütün sətirlər saxlanır.     

'inner': Yalnız hər iki DataFrame-dəki ortaq sətirlər saxlanır (default olaraq inner).

on: Hangi sütunlara görə birləşmə ediləcəyini göstərir. Bu parametr yalnız ortaq sütunlar varsa istifadə olunur. Əgər hər iki DataFrame-də eyni adda sütun varsa, bu sütun avtomatik olaraq istifadə edilir.     

left_on: Sol DataFrame-də istifadə etmək istədiyiniz sütun(lar).     

right_on: Sağ DataFrame-də istifadə etmək istədiyiniz sütun(lar).     

left_index: True olarsa, sol DataFrame-dəki index istifadə olunur.     

right_index: True olarsa, sağ DataFrame-dəki index istifadə olunur.

sort: True olarsa, birləşdirilmiş DataFrame sort edilir.

suffixes: Hər iki DataFrame-dəki sütun adlarının üstündə əlavə edilməsi üçün istifadə olunur (default: ('_x', '_y')).

indicator: True olarsa, birləşdirilmiş DataFrame-də əlavə bir sütun (_merge) yaradılır, burada sətirin hansı DataFrame-lərdən gəldiyi göstərilir.

validate: Bu parametr, birləşdirmənin doğruluğunu yoxlamağa imkan verir.     

'one_to_one': Hər iki DataFrame-də hər bir dəyərin yalnız bir qarşılığı olmalıdır.                'one_to_many': Sol DataFrame-dəki bir dəyər bir neçə sağ DataFrame dəyəri ilə uyğun gəlir.     

'many_to_one': Sağ DataFrame-dəki bir dəyər bir neçə sol DataFrame dəyəri ilə uyğun gəlir.     

'many_to_many': Hər iki DataFrame-də hər dəyər bir neçə dəfə təkrarlanır.

Nümunələr:     

Sol DataFrame üzrə Birləşmə:

pd.merge(df1, df2, how='left', on='ID')     

Bütün Məlumatları Birləşdirmək:

pd.merge(df1, df2, how='outer', on='ID')     

Sağ DataFrame üzrə Birləşmə:

pd.merge(df1, df2, how='right', on='ID')     

indicator=True ilə Birləşmə:

pd.merge(df1, df2, how='outer', on='ID', indicator=True): _merge sütunu hər sətirin hansı DataFrame-lərdən gəldiyini göstərir (left_only, right_only, both)

Join ilə Birləşdirmə

Pandas-da join() funksiyası, iki DataFrame-i birləşdirmək üçün istifadə olunur. Bu funksiya, xüsusilə indexlər üzrə birləşmə aparmaq üçün əlverişlidir, lakin sütunlar üzrə birləşdirmə də mümkün olur. join() funksiyası, merge() funksiyasına bənzəyir, amma daha sadə bir sintaksisə sahibdir və adətən indexlər üzərində işləyir.

join() Funksiyasının Əsas Parametrləri:     

other: Birləşdiriləcək digər DataFrame.     

on: Birləşdirmək üçün istifadə olunacaq sütun. Bu parametr, yalnız sütunlar üzrə birləşmə istəyirsinizsə istifadə olunur.     

how: Birləşmə növü ('left', 'right', 'outer', 'inner').     

lsuffix: Sol DataFrame-dəki təkrarlanan sütun adı üçün əlavə ediləcək suffix.     

rsuffix: Sağ DataFrame-dəki təkrarlanan sütun adı üçün əlavə ediləcək suffix.     

sort: True olarsa, nəticə sıralanır (default: False).

Numuneler:

Indexlər üzrə Birləşmə (Default)         DataFrame-ləri, indexlər üzrə birləşdirmək üçün join() istifadə edilə bilər.            

df1.join(df2, how='inner'): Burada how='inner' oldugu ucun yalnız indexləri ortaq olan sətirlər saxlanır. index-leri uyğun gəlməyenler silinir.

Qruplaşdırma Əməliyyatları

groupby()

aggregate()

groupby()-dan istifade:     

df.groupby('Type')[['Medals','Age']].mean(): Type sutununa gore, Medals ve Age sutunlarini qruplasdir ve onlarin mean-larini goster.

aggregate funksiyasindan istifade

Pandas-da aggregate() funksiyası, bir DataFrame və ya Series-dəki verilənlərə bir neçə agregat funksiyasını tətbiq etmək üçün istifadə olunur. Bu funksiya, müxtəlif statistik əməliyyatları eyni anda tətbiq etməyə imkan verir. Məsələn, sum, mean, std, min, max kimi funksiyalar müxtəlif sütunlara tətbiq edilə bilər.

df.aggregate({'Sutun1': ['mean', 'max', 'min'], 'Sutun2': ['sum', 'std']}): Sutun1 ve Sutun2-ye uygun aggregate funksiylarini tetbiq edir.

Data Cleaning və Missing Value

df.isnull(): Data Frame-de olan null deyerleri gormek ucun isnull funksiyasindan istifade edirik df.isnull().sum(): Hansi sutun uzre ne qeder null deyer oldugunu gosterir.

df.isnull().sum().sum(): Data Frame-də cəmi nə qədər null dəyər olduğunu göstərir.

df.dropna(): df.dropna() funksiyası, bir DataFrame-dəki bütün NaN dəyərləri (boş hüceyrələri) silmək üçün istifadə olunur. Varsayılan olaraq, NaN dəyərləri olan sətirləri silir.

Parametrlər:

axis:

axis=0 (default) — Sətirləri silir. NaN olan hər bir sətir silinir.

axis=1 — Sütunları silir. NaN olan hər bir sütun silinir.

how:

'any' (default) — NaN dəyəri olan hər hansı bir sətir/sütun silinir.

'all' — Yalnız bütün dəyərləri NaN olan sətir/sütunlar silinir.

thresh: Minimum sayda NaN olmayan dəyər tələb edir ki, sətir və ya sütun saxlanılsın.

Məsələn, thresh=3 varsa, yalnız 3 və ya daha çox NaN olmayan dəyəri olan sətirlər saxlanır.

subset: Hansı sütunlarda NaN dəyərləri axtarıb silmək istədiyinizi göstərir. Məsələn, yalnız müəyyən sütunlarda NaN dəyərləri axtarmaq üçün istifadə olunur.

inplace:

True — Əməliyyat DataFrame-də dəyişiklik edəcək və yeni bir DataFrame qaytarılmayacaq.

False (default) — Yeni bir DataFrame qaytarır, amma orijinal DataFrame dəyişməz qalır.

df.fillna(0, inplace = True): fillna() funksiyası, bir DataFrame və ya Series-dəki NaN dəyərlərini müəyyən bir dəyərlə əvəz etmək üçün istifadə edilir.

Parametrlər:

value: NaN dəyərlərinin yerinə qoyulacaq dəyəri təyin edir. Bu, 0, ortalama, median, və ya başqa bir dəyər ola bilər. Burada 0 ilə NaN dəyərləri doldurulur.

 

inplace:

True — Dəyişiklikləri orijinal DataFrame-də yerində tətbiq edir (yəni, yeni DataFrame qaytarmır).

False (default) — Yeni bir DataFrame qaytarır və orijinal DataFrame dəyişməz qalır.

method:

'ffill' — "forward fill" (öncəki dəyəri istifadə edərək doldurma).

'bfill' — "backward fill" (sonraki dəyəri istifadə edərək doldurma).

axis:

axis=0 (default) — NaN dəyərləri sətir üzrə doldurur.

axis=1 — NaN dəyərləri sütun üzrə doldurur.

limit: NaN dəyərlərinin yerinə qoyulacaq dəyərin maksimum sayını təyin edir. subset: Yalnız müəyyən sütunlar üzrə NaN dəyərləri doldurmaq üçün istifadə olunur.

Exporting

df.to_csv('output.csv', index=False):

index=False parametrini istifadə etdikdə, DataFrame-in index sütunu fayla daxil edilməyəcək. Əgər index də daxil edilməlidirsə, bu parametre True qiymet veririk.

df.to_excel('output.xlsx', index=False):

index=False parametrini istifadə etdikdə, DataFrame-in index sütunu fayla daxil edilməyəcək. Əgər index də daxil edilməlidirsə, bu parametre True qiymet veririk.

df.to_json('output.json')

Datetime

Pandas-da datetime funksiyaları, tarix və vaxtla işləmək üçün çox faydalıdır. Datetime ilə əlaqəli əməliyyatlar, məlumatların təhlilində, məlumatları vaxt üzrə qruplaşdırmaqda, zaman intervallarını hesablamaqda və sairində geniş şəkildə istifadə olunur. Pandas, datetime obyektlərini idarə etmək üçün çoxlu alətlər təqdim edir.

pd.to_datetime() — Tarixi və Vaxtı Pandas Datetime Formatına Çevirmək

pd.to_datetime() funksiyası, tarix və vaxt məlumatlarını Pandas datetime obyektinə çevirir. Bu funksiyanı, string və ya digər formatlardakı tarixləri Pandas datetime obyektinə çevirmək üçün istifadə edə bilərsiniz.

Misal:

df = pd.DataFrame({
    'Tarix': ['2023-01-01', '2024-02-02', '2025-03-03']
})

df['Tarix'] = pd.to_datetime(df['Tarix'])

print(df)

 

Nəticə:

 

Tarix
0 2023-01-01
1 2024-02-02
2 2025-03-03

 

Pandas, datetime tipinə çevirdikdən sonra, tarixlə əlaqəli əməliyyatlar aparmaq çox asan olur.

 

 

Tarix və Vaxtla Əməliyyatlar

Datetime tipindəki məlumatlarla müxtəlif əməliyyatlar edə bilərsiniz:

Tarix və Vaxtdan Yalnız Tarixi və ya Vaxtı Çıxarmaq

Pandas datetime obyektlərində, tarixvaxt hissələrini ayrıca əldə edə bilərsiniz:

dt.date — Tarixi əldə edir.

dt.time — Vaxtı əldə edir.

dt.year, dt.month, dt.day — İlləri, ayları və günləri əldə edir.

Misal:

df['Il'] = df['Tarix'].dt.year
df['Ay'] = df['Tarix'].dt.month
df['Gun'] = df['Tarix'].dt.day

print(df)

 

Nəticə:

Tarix   Il  Ay  Gun
0 2023-01-01  2023   1    1
1 2024-02-02  2024   2    2
2 2025-03-03  2025   3    3

 

Tarix və Vaxt Arasındakı Fərqi Hesablamaq

İki datetime obyektinin fərqini hesablamaq üçün çıxarma əməliyyatı istifadə edilə bilər.

Misal:

df['Bugun'] = pd.to_datetime('2024-01-01')  # Bugünün tarixi
df['Fərq'] = df['Bugun'] - df['Tarix']

print(df)

 

Nəticə:

 

Tarix      Bugun    Fərq
0 2023-01-01 2024-01-01  365 days
1 2024-02-02 2024-01-01  32 days
2 2025-03-03 2024-01-01 -394 days

 

Burada Fərq sütunu, bugün ilə Tarix arasındakı fərqi gün olaraq göstərir.

 

pd.to_timedelta() — Zaman Aralıqlarını Yaratmaq

pd.to_timedelta() funksiyası, zaman aralıqları ilə işləmək üçün istifadə olunur. Bu, zaman aralıqlarını (məsələn, saat, dəqiqə və s.) yaratmaq və onlarla əməliyyatlar aparmaq üçün əladır.

Misal:

# 2 gün 3 saatlıq zaman aralığını yaratmaq
zaman_araligi = pd.to_timedelta('2 days 3 hours')

# Bu zaman aralığını tarixə əlavə etmək
df['Yeni Tarix'] = df['Tarix'] + zaman_araligi

print(df)

Nəticə:

 

Tarix      Yeni Tarix
0 2023-01-01 2023-01-03 03:00:00
1 2024-02-02 2024-02-04 03:00:00
2 2025-03-03 2025-03-05 03:00:00

 

Burada, Tarix sütununa 2 gün 3 saatlıq zaman aralığı əlavə edilib.

 

Zaman Mühiti ilə Çalışmaq

Pandas ilə zaman zonasını (timezone) təyin etmək mümkündür. Bu, xüsusən qlobal məlumatlarla işləyərkən faydalıdır.

 

Misal:

# Tarixə zaman zonası əlavə etmək
df['Tarix'] = df['Tarix'].dt.tz_localize('UTC')

# Zaman zonasını dəyişdirmək
df['Tarix'] = df['Tarix'].dt.tz_convert('Asia/Baku')

print(df)

 

Nəticə:

 

Tarix
0 2023-01-01 00:00:00+04:00
1 2024-02-02 00:00:00+04:00
2 2025-03-03 00:00:00+04:00

 

Bu misalda, UTC zaman zonası Asia/Baku zaman zonasına çevrilir.

 

date_range() — Tarix Aralığı Yaratmaq

pd.date_range() funksiyası, müəyyən bir tarix aralığında ardıcıl tarixlər yaratmağa imkan verir.

Misal:

# 2023-01-01-dən 2023-01-10-a qədər tarixlər yaratmaq
tarix_araligi = pd.date_range(start='2023-01-01', end='2023-01-10')

print(tarix_araligi)

 

Nəticə:

DatetimeIndex(['2023-01-01', '2023-01-02', '2023-01-03', '2023-01-04',
               '2023-01-05', '2023-01-06', '2023-01-07', '2023-01-08',
               '2023-01-09', '2023-01-10'],
              dtype='datetime64[ns]', freq='D')

Burada 2023-01-01 ilə 2023-01-10 arasında olan bütün tarixlər yaradılır.

 

Datetime Formatları

Datetime məlumatları ilə işləyərkən xüsusi formatlar istifadə edilə bilər. Bu, xüsusən məlumatları müəyyən bir şəkildə göstərmək və ya saxlamaq üçün faydalıdır.

Misal:

# Datetime obyektini müəyyən formatda göstərmək
df['Tarix_format'] = df['Tarix'].dt.strftime('%Y-%m-%d')

print(df)

 

Nəticə:

Tarix Tarix_format
0 2023-01-01    2023-01-01
1 2024-02-02    2024-02-02
2 2025-03-03    2025-03-03

strftime('%Y-%m-%d') funksiyası ilə datetime obyektləri, istədiyiniz formata çevrilir.

 

Xülasə:

Pandas-da datetime funksiyaları, tarix və vaxtla işləmək üçün çox güclü vasitələr təqdim edir. Bu funksiyalarla:

Tarix və vaxtları datetime formatına çevirə bilərsiniz.

Tarixlər arasında fərqləri hesablaya bilərsiniz.

Tarixə müəyyən bir zaman aralığı əlavə edib, çıxara bilərsiniz.

Zaman zonalarını dəyişdirə bilərsiniz.

date_range() funksiyası ilə tarixlər arasında aralıq yarada bilərsiniz.

 

Şərtli sütunlar (conditional columns)

 

Pandas kitabxanasında şərtli sütunlar (conditional columns) ilə işləmək, məlumatları müəyyən şərtlərə əsasən manipulyasiya etmək və analiz etmək üçün çox güclü bir yoldur. Bu, xüsusilə böyük verilənlər dəstləri ilə işləyərkən faydalıdır, çünki bir sütunun dəyərlərini digər sütunlarla müqayisə edərək yeni sütunlar yaratmağa imkan verir.

Pandas-da şərtli sütunlar yaratmaq üçün müxtəlif üsullardan istifadə etmək mümkündür:

np.where() funksiyası ilə şərtli sütun yaradılması

Pandas və NumPy kitabxanasını birləşdirərək, np.where() funksiyasını istifadə edə bilərsiniz. Bu funksiya, şərtlərə əsasən seçim etməyə imkan verir.

 

Sintaksis:

# Nümunə DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3, 4, 5],
    'B': [10, 20, 30, 40, 50]
})

# Yeni sütun yaratmaq (A sütununa əsasən şərt)
df['C'] = np.where(df['A'] > 2, 'Böyük', 'Kiçik')

print(df)

 

Bu kodda, A sütunundakı dəyərlərə əsasən C sütunu yaradılır. Əgər A sütununun dəyəri 2-dən böyükdürsə, C sütunu "Böyük" olacaq, əks halda "Kiçik" olacaq.

 

apply() metodu ilə şərtli sütun yaradılması

Pandas-da apply() metodunu istifadə edərək hər bir sətir üzərində şərtli funksiyaları tətbiq edə bilərsiniz. Bu metod, xüsusilə daha mürəkkəb şərtləri təyin etmək üçün istifadə olunur.

 

Sintaksis:

def check_value(x):
    if x > 3:
        return 'Yüksək'
    else:
        return 'Aşağı'

df['D'] = df['A'].apply(check_value)

print(df)

 

Burada apply() metodu ilə A sütunundakı hər bir dəyəri yoxlayırıq və müvafiq şərtlərə əsasən yeni bir D sütunu yaradılır.

 

loc[] metodu ilə şərtli sütun yaradılması

loc[] metodu da çox güclü bir vasitədir. Bu metodla müəyyən bir şərtə uyğun olan sətirlər seçilə və ya yeni sütunlar təyin edilə bilər.

Sintaksis:

df.loc[df['A'] > 3, 'E'] = 'Yuxarı'
df.loc[df['A'] <= 3, 'E'] = 'Aşağı'

print(df)

 

Burada loc[] istifadə edərək, A sütununun dəyəri 3-dən böyük olan sətirlərə 'Yuxarı', digər sətirlərə isə 'Aşağı' dəyəri verilmişdir.

 

Bir neçə şərtlə sütun yaradılması

Bir neçə şərt tətbiq edərək daha mürəkkəb lojiq əməliyyatlar da həyata keçirə bilərsiniz.

 

Sintaksis:

df['F'] = np.select(
    [df['A'] > 4, df['A'] == 3],
    ['Çox Yüksək', 'Orta'],
    default='Yüksək'
)

print(df)

 

Bu misalda, A sütununun dəyərinə görə üç fərqli seçim (şərt) tətbiq olunur:

Əgər A > 4, 'Çox Yüksək'

Əgər A == 3, 'Orta'

Əks halda, 'Yüksək'

 


 

Bir neçə şərt ilə apply() istifadə etmək

apply() metodu daha mürəkkəb şərtlər ilə işləyən funksiyaları tətbiq etməyə imkan verir.

 

Sintaksis:

 

def custom_logic(row):
    if row['A'] > 3 and row['B'] < 30:
        return 'Qənaət'
    elif row['A'] <= 3 or row['B'] >= 30:
        return 'Əlavə'
    else:
        return 'Standart'

df['G'] = df.apply(custom_logic, axis=1)

print(df)

 

Bu misalda, hər bir sətir üzərində bir neçə şərt tətbiq olunur və buna uyğun olaraq G sütunu doldurulur.

Popular posts from this blog

Power BI DAX Functions

Power BI - Lifehacks