ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ Π·Π°Π΅ΠΌΡΠΈΠΊΠΎΠ²ΒΆ
ΠΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΡΠ°ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΡΠΎΡΡΡ ΡΠ°ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡ ΡΠ΅Π²ΡΡΠ΅Ρ.
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΠΈΠ·ΡΡΠΈΡΠ΅ ΠΎΠ±ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π΄Π°Π½Π½ΡΡ ΒΆ
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 1. ΠΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ pandas. Π‘ΡΠΈΡΠ°ΠΉΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· csv-ΡΠ°ΠΉΠ»Π° Π² Π΄Π°ΡΠ°ΡΡΠ΅ΠΉΠΌ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ data. ΠΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ:
/datasets/data.csv
import pandas as pd# ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ pandas
data = pd.read_csv('/datasets/data.csv')# ΠΏΡΠΎΡΠΈΡΠ°ΠΉΡΠ΅ csv-ΡΠ°ΠΉΠ»
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 2. ΠΡΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΡΠ΅ 20 ΡΡΡΠΎΡΠ΅ΠΊ Π΄Π°ΡΠ°ΡΡΠ΅ΠΉΠΌΠ° data Π½Π° ΡΠΊΡΠ°Π½.
print(data.head(20))# Π²Π°Ρ ΠΊΠΎΠ΄ Π·Π΄Π΅ΡΡ
children days_employed dob_years education education_id \
0 1 -8437.673028 42 Π²ΡΡΡΠ΅Π΅ 0
1 1 -4024.803754 36 ΡΡΠ΅Π΄Π½Π΅Π΅ 1
2 0 -5623.422610 33 Π‘ΡΠ΅Π΄Π½Π΅Π΅ 1
3 3 -4124.747207 32 ΡΡΠ΅Π΄Π½Π΅Π΅ 1
4 0 340266.072047 53 ΡΡΠ΅Π΄Π½Π΅Π΅ 1
5 0 -926.185831 27 Π²ΡΡΡΠ΅Π΅ 0
6 0 -2879.202052 43 Π²ΡΡΡΠ΅Π΅ 0
7 0 -152.779569 50 Π‘Π ΠΠΠΠΠ 1
8 2 -6929.865299 35 ΠΠ«Π‘Π¨ΠΠ 0
9 0 -2188.756445 41 ΡΡΠ΅Π΄Π½Π΅Π΅ 1
10 2 -4171.483647 36 Π²ΡΡΡΠ΅Π΅ 0
11 0 -792.701887 40 ΡΡΠ΅Π΄Π½Π΅Π΅ 1
12 0 NaN 65 ΡΡΠ΅Π΄Π½Π΅Π΅ 1
13 0 -1846.641941 54 Π½Π΅ΠΎΠΊΠΎΠ½ΡΠ΅Π½Π½ΠΎΠ΅ Π²ΡΡΡΠ΅Π΅ 2
14 0 -1844.956182 56 Π²ΡΡΡΠ΅Π΅ 0
15 1 -972.364419 26 ΡΡΠ΅Π΄Π½Π΅Π΅ 1
16 0 -1719.934226 35 ΡΡΠ΅Π΄Π½Π΅Π΅ 1
17 0 -2369.999720 33 Π²ΡΡΡΠ΅Π΅ 0
18 0 400281.136913 53 ΡΡΠ΅Π΄Π½Π΅Π΅ 1
19 0 -10038.818549 48 Π‘Π ΠΠΠΠΠ 1
family_status family_status_id gender income_type debt \
0 ΠΆΠ΅Π½Π°Ρ / Π·Π°ΠΌΡΠΆΠ΅ΠΌ 0 F ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ 0
1 ΠΆΠ΅Π½Π°Ρ / Π·Π°ΠΌΡΠΆΠ΅ΠΌ 0 F ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ 0
2 ΠΆΠ΅Π½Π°Ρ / Π·Π°ΠΌΡΠΆΠ΅ΠΌ 0 M ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ 0
3 ΠΆΠ΅Π½Π°Ρ / Π·Π°ΠΌΡΠΆΠ΅ΠΌ 0 M ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ 0
4 Π³ΡΠ°ΠΆΠ΄Π°Π½ΡΠΊΠΈΠΉ Π±ΡΠ°ΠΊ 1 F ΠΏΠ΅Π½ΡΠΈΠΎΠ½Π΅Ρ 0
5 Π³ΡΠ°ΠΆΠ΄Π°Π½ΡΠΊΠΈΠΉ Π±ΡΠ°ΠΊ 1 M ΠΊΠΎΠΌΠΏΠ°Π½ΡΠΎΠ½ 0
6 ΠΆΠ΅Π½Π°Ρ / Π·Π°ΠΌΡΠΆΠ΅ΠΌ 0 F ΠΊΠΎΠΌΠΏΠ°Π½ΡΠΎΠ½ 0
7 ΠΆΠ΅Π½Π°Ρ / Π·Π°ΠΌΡΠΆΠ΅ΠΌ 0 M ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ 0
8 Π³ΡΠ°ΠΆΠ΄Π°Π½ΡΠΊΠΈΠΉ Π±ΡΠ°ΠΊ 1 F ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ 0
9 ΠΆΠ΅Π½Π°Ρ / Π·Π°ΠΌΡΠΆΠ΅ΠΌ 0 M ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ 0
10 ΠΆΠ΅Π½Π°Ρ / Π·Π°ΠΌΡΠΆΠ΅ΠΌ 0 M ΠΊΠΎΠΌΠΏΠ°Π½ΡΠΎΠ½ 0
11 ΠΆΠ΅Π½Π°Ρ / Π·Π°ΠΌΡΠΆΠ΅ΠΌ 0 F ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ 0
12 Π³ΡΠ°ΠΆΠ΄Π°Π½ΡΠΊΠΈΠΉ Π±ΡΠ°ΠΊ 1 M ΠΏΠ΅Π½ΡΠΈΠΎΠ½Π΅Ρ 0
13 ΠΆΠ΅Π½Π°Ρ / Π·Π°ΠΌΡΠΆΠ΅ΠΌ 0 F ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ 0
14 Π³ΡΠ°ΠΆΠ΄Π°Π½ΡΠΊΠΈΠΉ Π±ΡΠ°ΠΊ 1 F ΠΊΠΎΠΌΠΏΠ°Π½ΡΠΎΠ½ 1
15 ΠΆΠ΅Π½Π°Ρ / Π·Π°ΠΌΡΠΆΠ΅ΠΌ 0 F ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ 0
16 ΠΆΠ΅Π½Π°Ρ / Π·Π°ΠΌΡΠΆΠ΅ΠΌ 0 F ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ 0
17 Π³ΡΠ°ΠΆΠ΄Π°Π½ΡΠΊΠΈΠΉ Π±ΡΠ°ΠΊ 1 M ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ 0
18 Π²Π΄ΠΎΠ²Π΅Ρ / Π²Π΄ΠΎΠ²Π° 2 F ΠΏΠ΅Π½ΡΠΈΠΎΠ½Π΅Ρ 0
19 Π² ΡΠ°Π·Π²ΠΎΠ΄Π΅ 3 F ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ 0
total_income purpose
0 253875.639453 ΠΏΠΎΠΊΡΠΏΠΊΠ° ΠΆΠΈΠ»ΡΡ
1 112080.014102 ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ
2 145885.952297 ΠΏΠΎΠΊΡΠΏΠΊΠ° ΠΆΠΈΠ»ΡΡ
3 267628.550329 Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅
4 158616.077870 ΡΡΠ³ΡΠ°ΡΡ ΡΠ²Π°Π΄ΡΠ±Ρ
5 255763.565419 ΠΏΠΎΠΊΡΠΏΠΊΠ° ΠΆΠΈΠ»ΡΡ
6 240525.971920 ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΆΠΈΠ»ΡΠ΅ΠΌ
7 135823.934197 ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅
8 95856.832424 Π½Π° ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ²Π°Π΄ΡΠ±Ρ
9 144425.938277 ΠΏΠΎΠΊΡΠΏΠΊΠ° ΠΆΠΈΠ»ΡΡ Π΄Π»Ρ ΡΠ΅ΠΌΡΠΈ
10 113943.491460 ΠΏΠΎΠΊΡΠΏΠΊΠ° Π½Π΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΠΈ
11 77069.234271 ΠΏΠΎΠΊΡΠΏΠΊΠ° ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠΉ Π½Π΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΠΈ
12 NaN ΡΡΠ³ΡΠ°ΡΡ ΡΠ²Π°Π΄ΡΠ±Ρ
13 130458.228857 ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ
14 165127.911772 ΠΏΠΎΠΊΡΠΏΠΊΠ° ΠΆΠΈΠ»ΠΎΠΉ Π½Π΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΠΈ
15 116820.904450 ΡΡΡΠΎΠΈΡΠ΅Π»ΡΡΡΠ²ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π½Π΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΠΈ
16 289202.704229 Π½Π΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΡ
17 90410.586745 ΡΡΡΠΎΠΈΡΠ΅Π»ΡΡΡΠ²ΠΎ Π½Π΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΠΈ
18 56823.777243 Π½Π° ΠΏΠΎΠΊΡΠΏΠΊΡ ΠΏΠΎΠ΄Π΅ΡΠΆΠ°Π½Π½ΠΎΠ³ΠΎ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ
19 242831.107982 Π½Π° ΠΏΠΎΠΊΡΠΏΠΊΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 3. ΠΡΠ²Π΅Π΄ΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π΄Π°ΡΠ°ΡΡΠ΅ΠΉΠΌΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° info().
data.info()# Π²Π°Ρ ΠΊΠΎΠ΄ Π·Π΄Π΅ΡΡ
<class 'pandas.core.frame.DataFrame'> RangeIndex: 21525 entries, 0 to 21524 Data columns (total 12 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 children 21525 non-null int64 1 days_employed 19351 non-null float64 2 dob_years 21525 non-null int64 3 education 21525 non-null object 4 education_id 21525 non-null int64 5 family_status 21525 non-null object 6 family_status_id 21525 non-null int64 7 gender 21525 non-null object 8 income_type 21525 non-null object 9 debt 21525 non-null int64 10 total_income 19351 non-null float64 11 purpose 21525 non-null object dtypes: float64(2), int64(5), object(5) memory usage: 2.0+ MB
ΠΡΠ΅Π΄ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ ΒΆ
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΏΡΡΠΊΠΎΠ²ΒΆ
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 4. ΠΡΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠΏΡΡΠ΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ°. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Π΄Π²ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
print(data.isnull().sum())# Π²Π°Ρ ΠΊΠΎΠ΄ Π·Π΄Π΅ΡΡ
children 0 days_employed 2174 dob_years 0 education 0 education_id 0 family_status 0 family_status_id 0 gender 0 income_type 0 debt 0 total_income 2174 purpose 0 dtype: int64
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 5. Π Π΄Π²ΡΡ
ΡΡΠΎΠ»Π±ΡΠ°Ρ
Π΅ΡΡΡ ΠΏΡΠΎΠΏΡΡΠ΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ
β days_employed. ΠΡΠΎΠΏΡΡΠΊΠΈ Π² ΡΡΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅ Π²Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ°ΠΏΠ΅. ΠΡΡΠ³ΠΎΠΉ ΡΡΠΎΠ»Π±Π΅Ρ Ρ ΠΏΡΠΎΠΏΡΡΠ΅Π½Π½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ β total_income β Ρ
ΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π΄ΠΎΡ
ΠΎΠ΄Π°Ρ
. ΠΠ° ΡΡΠΌΠΌΡ Π΄ΠΎΡ
ΠΎΠ΄Π° ΡΠΈΠ»ΡΠ½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ Π²Π»ΠΈΡΠ΅Ρ ΡΠΈΠΏ Π·Π°Π½ΡΡΠΎΡΡΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠΈ Π² ΡΡΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΌΠ΅Π΄ΠΈΠ°Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠΈΠΏΡ ΠΈΠ· ΡΡΠΎΠ»Π±ΡΠ° income_type. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° Ρ ΡΠΈΠΏΠΎΠΌ Π·Π°Π½ΡΡΠΎΡΡΠΈ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ ΠΏΡΠΎΠΏΡΡΠΊ Π² ΡΡΠΎΠ»Π±ΡΠ΅ total_income Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ ΠΌΠ΅Π΄ΠΈΠ°Π½Π½ΡΠΌ Π΄ΠΎΡ
ΠΎΠ΄ΠΎΠΌ ΡΡΠ΅Π΄ΠΈ Π²ΡΠ΅Ρ
Π·Π°ΠΏΠΈΡΠ΅ΠΉ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠΈΠΏΠΎΠΌ.
data['total_income'] = data['total_income'].fillna(0) #Π·Π°ΠΌΠ΅Π½Π° ΠΏΡΠΎΠΏΡΡΠΊΠΎΠ² Π½Π° 0 Π² ΡΡΠΎΠ»Π±ΡΠ΅ 'total_income'
income_unique = data['income_type'].unique() #ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ, ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ
for i in income_unique: # Π¦ΠΈΠΊΠ» ΠΏΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΡΠΏΠΈΡΠΊΠ°
income_type_median = data.loc[(data['income_type'] == i) & (data['total_income'] != 0) ,'total_income'].sort_values().median() # ΠΠΎΠ΄ΡΡΠ΅Ρ ΠΌΠ΅Π΄ΠΈΠ°Π½Ρ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π°
data.loc[(data['total_income'] == 0) & (data['income_type'] == i), 'total_income'] = income_type_median # ΠΠ°ΠΌΠ΅Π½Π° 0 Π½Π° ΠΌΠ΅Π΄ΠΈΠ°Π½Ρ ΠΈΡΡ
ΠΎΠ΄Ρ ΠΈΠ· ΡΡΠ»ΠΎΠ²ΠΈΠΉ
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π°Π½ΠΎΠΌΠ°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉΒΆ
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 6. Π Π΄Π°Π½Π½ΡΡ
ΠΌΠΎΠ³ΡΡ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π°ΡΡΠ΅ΡΠ°ΠΊΡΡ (Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ) β Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΎΡΡΠ°ΠΆΠ°ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ΅. Π’Π°ΠΊΠΈΠΌ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π½Π΅ΠΉ ΡΡΡΠ΄ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ°ΠΆΠ° Π² ΡΡΠΎΠ»Π±ΡΠ΅ days_employed. ΠΠ»Ρ ΡΠ΅Π°Π»ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
ΡΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ. ΠΠ±ΡΠ°Π±ΠΎΡΠ°ΠΉΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΡΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅: Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ Π²ΡΠ΅ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° abs().
data['days_employed'] = data['days_employed'].abs() # Π²Π°Ρ ΠΊΠΎΠ΄ Π·Π΄Π΅ΡΡ
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 7. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π·Π°Π½ΡΡΠΎΡΡΠΈ Π²ΡΠ²Π΅Π΄ΠΈΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠ΄ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ°ΠΆΠ° days_employed Π² Π΄Π½ΡΡ
.
data.groupby('income_type')['days_employed'].agg('median')
income_type Π±Π΅Π·ΡΠ°Π±ΠΎΡΠ½ΡΠΉ 366413.652744 Π² Π΄Π΅ΠΊΡΠ΅ΡΠ΅ 3296.759962 Π³ΠΎΡΡΠ»ΡΠΆΠ°ΡΠΈΠΉ 2689.368353 ΠΊΠΎΠΌΠΏΠ°Π½ΡΠΎΠ½ 1547.382223 ΠΏΠ΅Π½ΡΠΈΠΎΠ½Π΅Ρ 365213.306266 ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΠ΅Π»Ρ 520.848083 ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ 1574.202821 ΡΡΡΠ΄Π΅Π½Ρ 578.751554 Name: days_employed, dtype: float64
Π£ Π΄Π²ΡΡ ΡΠΈΠΏΠΎΠ² (Π±Π΅Π·ΡΠ°Π±ΠΎΡΠ½ΡΠ΅ ΠΈ ΠΏΠ΅Π½ΡΠΈΠΎΠ½Π΅ΡΡ) ΠΏΠΎΠ»ΡΡΠ°ΡΡΡ Π°Π½ΠΎΠΌΠ°Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΈΡ ΠΊΠ°ΠΊ Π΅ΡΡΡ. Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΡΠΎΡ ΡΡΠΎΠ»Π±Π΅Ρ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π²Π°ΠΌ Π΄Π»Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 8. ΠΡΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΠΎΠ»Π±ΡΠ° children.
print(data['children'].unique())# Π²Π°Ρ ΠΊΠΎΠ΄ Π·Π΄Π΅ΡΡ
[ 1 0 3 2 -1 4 20 5]
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 9. Π ΡΡΠΎΠ»Π±ΡΠ΅ children Π΅ΡΡΡ Π΄Π²Π° Π°Π½ΠΎΠΌΠ°Π»ΡΠ½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π£Π΄Π°Π»ΠΈΡΠ΅ ΡΡΡΠΎΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ
Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ Π°Π½ΠΎΠΌΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· Π΄Π°ΡΠ°ΡΡΠ΅ΠΉΠΌΠ° data.
data = data.loc[(data['children'] >= 0) & (data['children'] !=20)]# Π²Π°Ρ ΠΊΠΎΠ΄ Π·Π΄Π΅ΡΡ
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 10. ΠΡΡ ΡΠ°Π· Π²ΡΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΠΎΠ»Π±ΡΠ° children, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π°ΡΡΠ΅ΡΠ°ΠΊΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ.
print(data['children'].unique())# Π²Π°Ρ ΠΊΠΎΠ΄ Π·Π΄Π΅ΡΡ
[1 0 3 2 4 5]
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΏΡΡΠΊΠΎΠ² (ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅)ΒΆ
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 11. ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΏΡΡΠΊΠΈ Π² ΡΡΠΎΠ»Π±ΡΠ΅ days_employed ΠΌΠ΅Π΄ΠΈΠ°Π½Π½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠΈΠΏΡ Π·Π°Π½ΡΡΠΎΡΡΠΈ income_type.
data['days_employed'] = data['days_employed'].fillna(0) #Π·Π°ΠΌΠ΅Π½Π° ΠΏΡΠΎΠΏΡΡΠΊΠΎΠ² Π½Π° 0 Π² ΡΡΠΎΠ»Π±ΡΠ΅ 'total_income'
income_unique = data['income_type'].unique() #ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ, ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ
for i in income_unique: # Π¦ΠΈΠΊΠ» ΠΏΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΡΠΏΠΈΡΠΊΠ°
income_type_median = data.loc[(data['income_type'] == i) & (data['days_employed'] != 0) ,'days_employed'].sort_values().median() # ΠΠΎΠ΄ΡΡΠ΅Ρ ΠΌΠ΅Π΄ΠΈΠ°Π½Ρ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π°
data.loc[(data['days_employed'] == 0) & (data['income_type'] == i), 'days_employed'] = income_type_median # ΠΠ°ΠΌΠ΅Π½Π° 0 Π½Π° ΠΌΠ΅Π΄ΠΈΠ°Π½Ρ ΠΈΡΡ
ΠΎΠ΄Ρ ΠΈΠ· ΡΡΠ»ΠΎΠ²ΠΈΠΉ
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 12. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΠΏΡΠΎΠΏΡΡΠΊΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ΅Π±Ρ ΠΈ Π΅ΡΡ ΡΠ°Π· Π²ΡΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠΏΡΡΠ΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π²ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
print(data.isna().sum())# Π²Π°Ρ ΠΊΠΎΠ΄ Π·Π΄Π΅ΡΡ
children 0 days_employed 0 dob_years 0 education 0 education_id 0 family_status 0 family_status_id 0 gender 0 income_type 0 debt 0 total_income 0 purpose 0 dtype: int64
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ ΒΆ
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 13. ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
Π² ΡΡΠΎΠ»Π±ΡΠ΅ total_income Π½Π° ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° astype().
data['total_income'] = data['total_income'].astype('int')# Π²Π°Ρ ΠΊΠΎΠ΄ Π·Π΄Π΅ΡΡ
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΠΎΠ²ΒΆ
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 14. ΠΡΠ²Π΅Π΄ΠΈΡΠ΅ Π½Π° ΡΠΊΡΠ°Π½ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ-Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΠΎΠ² Π² Π΄Π°Π½Π½ΡΡ . ΠΡΠ»ΠΈ ΡΠ°ΠΊΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ, ΡΠ΄Π°Π»ΠΈΡΠ΅ ΠΈΡ .
data.duplicated().sum()# ΠΏΠΎΡΡΠΈΡΠ°ΠΉΡΠ΅ Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΡ
54
data = data.drop_duplicates()# ΡΠ΄Π°Π»ΠΈΡΠ΅ Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΡ
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 15. ΠΠ±ΡΠ°Π±ΠΎΡΠ°ΠΉΡΠ΅ Π½Π΅ΡΠ²Π½ΡΠ΅ Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΡ Π² ΡΡΠΎΠ»Π±ΡΠ΅ education. Π ΡΡΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅ Π΅ΡΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½ΠΎ Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ: Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π·Π°Π³Π»Π°Π²Π½ΡΡ
ΠΈ ΡΡΡΠΎΡΠ½ΡΡ
Π±ΡΠΊΠ². ΠΡΠΈΠ²Π΅Π΄ΠΈΡΠ΅ ΠΈΡ
ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΡ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ.
data['education'] =data['education'].str.lower()
ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠ·Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΒΆ
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 16. ΠΠ° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ², ΡΠΊΠ°Π·Π°Π½Π½ΡΡ
Π½ΠΈΠΆΠ΅, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π² Π΄Π°ΡΠ°ΡΡΠ΅ΠΉΠΌΠ΅ data ΡΡΠΎΠ»Π±Π΅Ρ total_income_category Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠΌΠΈ:
- 0β30000 β
'E'; - 30001β50000 β
'D'; - 50001β200000 β
'C'; - 200001β1000000 β
'B'; - 1000001 ΠΈ Π²ΡΡΠ΅ β
'A'.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΡΠ΅Π΄ΠΈΡΠΎΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ Ρ Π΄ΠΎΡ
ΠΎΠ΄ΠΎΠΌ 25000 Π½ΡΠΆΠ½ΠΎ Π½Π°Π·Π½Π°ΡΠΈΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ 'E', Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡ, ΠΏΠΎΠ»ΡΡΠ°ΡΡΠ΅ΠΌΡ 235000, β 'B'. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ categorize_income() ΠΈ ΠΌΠ΅ΡΠΎΠ΄ apply().
def categorize_income(in_column):# ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ categorize_income()
if 0<= in_column <=30000:
return 'E'
elif 30001<= in_column <=50000:
return 'D'
elif 50001<= in_column <=200000:
return 'C'
elif 200001<= in_column <=1000000:
return 'B'
elif 1000001 <= in_column :
return 'A'
data['total_income_category'] = data['total_income'].apply(categorize_income) #ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ apply()
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 17. ΠΡΠ²Π΅Π΄ΠΈΡΠ΅ Π½Π° ΡΠΊΡΠ°Π½ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
ΡΠ΅Π»Π΅ΠΉ Π²Π·ΡΡΠΈΡ ΠΊΡΠ΅Π΄ΠΈΡΠ° ΠΈΠ· ΡΡΠΎΠ»Π±ΡΠ° purpose.
print(data['purpose'].unique())# Π²Π°Ρ ΠΊΠΎΠ΄ Π·Π΄Π΅ΡΡ
['ΠΏΠΎΠΊΡΠΏΠΊΠ° ΠΆΠΈΠ»ΡΡ' 'ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ' 'Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅' 'ΡΡΠ³ΡΠ°ΡΡ ΡΠ²Π°Π΄ΡΠ±Ρ' 'ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΆΠΈΠ»ΡΠ΅ΠΌ' 'ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅' 'Π½Π° ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ²Π°Π΄ΡΠ±Ρ' 'ΠΏΠΎΠΊΡΠΏΠΊΠ° ΠΆΠΈΠ»ΡΡ Π΄Π»Ρ ΡΠ΅ΠΌΡΠΈ' 'ΠΏΠΎΠΊΡΠΏΠΊΠ° Π½Π΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΠΈ' 'ΠΏΠΎΠΊΡΠΏΠΊΠ° ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠΉ Π½Π΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΠΈ' 'ΠΏΠΎΠΊΡΠΏΠΊΠ° ΠΆΠΈΠ»ΠΎΠΉ Π½Π΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΠΈ' 'ΡΡΡΠΎΠΈΡΠ΅Π»ΡΡΡΠ²ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π½Π΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΠΈ' 'Π½Π΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΡ' 'ΡΡΡΠΎΠΈΡΠ΅Π»ΡΡΡΠ²ΠΎ Π½Π΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΠΈ' 'Π½Π° ΠΏΠΎΠΊΡΠΏΠΊΡ ΠΏΠΎΠ΄Π΅ΡΠΆΠ°Π½Π½ΠΎΠ³ΠΎ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ' 'Π½Π° ΠΏΠΎΠΊΡΠΏΠΊΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ' 'ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠΉ Π½Π΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΡΡ' 'ΡΡΡΠΎΠΈΡΠ΅Π»ΡΡΡΠ²ΠΎ ΠΆΠΈΠ»ΠΎΠΉ Π½Π΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΠΈ' 'ΠΆΠΈΠ»ΡΠ΅' 'ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎ ΡΠ²ΠΎΠ΅ΠΉ Π½Π΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΡΡ' 'Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ' 'Π·Π°Π½ΡΡΡΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ' 'ΡΠ΄Π΅Π»ΠΊΠ° Ρ ΠΏΠΎΠ΄Π΅ΡΠΆΠ°Π½Π½ΡΠΌ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΌ' 'ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ' 'Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ' 'ΡΠ²Π°Π΄ΡΠ±Π°' 'ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ' 'ΠΏΠΎΠΊΡΠΏΠΊΠ° ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΆΠΈΠ»ΡΡ' 'ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π½Π΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΡΡ' 'ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ' 'ΡΠ²ΠΎΠΉ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ' 'ΡΠ΄Π΅Π»ΠΊΠ° Ρ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΌ' 'ΠΏΡΠΎΡΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅' 'Π²ΡΡΡΠ΅Π΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅' 'ΠΏΠΎΠΊΡΠΏΠΊΠ° ΠΆΠΈΠ»ΡΡ Π΄Π»Ρ ΡΠ΄Π°ΡΠΈ' 'Π½Π° ΠΏΠΎΠΊΡΠΏΠΊΡ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ' 'ΡΠ΅ΠΌΠΎΠ½Ρ ΠΆΠΈΠ»ΡΡ' 'Π·Π°Π½ΡΡΡΡΡ Π²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ']
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 18. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ
ΠΈΠ· ΡΡΠΎΠ»Π±ΡΠ° purpose ΡΡΠΎΡΠΌΠΈΡΡΠ΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ purpose_category, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠΉΠ΄ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ:
'ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΌ','ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π½Π΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΡΡ','ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ²Π°Π΄ΡΠ±Ρ','ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ'.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π² ΡΡΠΎΠ»Π±ΡΠ΅ purpose Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ° 'Π½Π° ΠΏΠΎΠΊΡΠΏΠΊΡ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ', ΡΠΎ Π² ΡΡΠΎΠ»Π±ΡΠ΅ purpose_category Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΡΡΡΠΎΠΊΠ° 'ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΌ'.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ categorize_purpose() ΠΈ ΠΌΠ΅ΡΠΎΠ΄ apply(). ΠΠ·ΡΡΠΈΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΡΠΎΠ»Π±ΡΠ΅ purpose ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ.
def categorize_purpose(in_type):# ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ categorize_purpose()
if 'Π°Π²ΡΠΎ' in in_type:
return 'ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΌ'
elif ('ΠΆΠΈΠ»' in in_type)or('Π½Π΅Π΄Π²ΠΈΠΆ' in in_type):
return 'ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π½Π΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΡΡ'
elif 'ΡΠ²Π°Π΄Ρ' in in_type:
return 'ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ²Π°Π΄ΡΠ±Ρ'
elif 'ΠΎΠ±ΡΠ°Π·' in in_type:
return'ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ'
data['purpose_category'] = data['purpose'].apply(categorize_purpose)# ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ apply()