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ə, tarix və vaxt 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.