āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ āĻĄā§āĻāĻž āĻ¸āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ¸ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻĒā§āĻ°āĻŦā§āĻļāĻāĻžāĻ°ā§ āĻ˛ā§āĻā§āĻ°āĻž āĻ¤āĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¯āĻž āĻ
āĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻā§ āĻ¤āĻžāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻ¸āĻŽā§āĻŽāĻ¤ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻžāĻ° āĻā§āĻ¯āĻŧā§ āĻāĻŽāĨ¤ āĻ
āĻ¨ā§āĻ āĻ˛ā§āĻ āĻŽāĻ¨ā§ āĻāĻ°ā§ āĻ¯ā§ āĻ¤āĻžāĻ°āĻž āĻāĻāĻ¨ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻāĻ°āĻžāĻ˛ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ˛āĻŋāĻāĻŦā§, āĻāĻ¯āĻŧāĻ°āĻ¨ āĻŽā§āĻ¯āĻžāĻ¨ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻāĻ¯āĻŧā§āĻ¸ āĻ¸āĻšāĻāĻžāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦā§ āĻŦāĻž āĻāĻ°ā§āĻĨāĻŋāĻ āĻŦāĻžāĻāĻžāĻ°ā§ āĻ¸āĻŦāĻžāĻāĻā§ āĻĒāĻ°āĻžāĻāĻŋāĻ¤ āĻāĻ°āĻŦā§āĨ¤
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻžāĻ āĻāĻĒāĻžāĻ¤ā§āĻ¤ āĻŦāĻŋāĻā§āĻāĻžāĻ¨ā§ āĻĄā§āĻāĻž-āĻāĻžāĻ˛āĻŋāĻ¤, āĻāĻŦāĻ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻāĻŦāĻ āĻ¸āĻŽāĻ¯āĻŧāĻ¸āĻžāĻĒā§āĻā§āĻˇ āĻĻāĻŋāĻāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻšāĻ˛ āĻĄā§āĻāĻžāĻā§ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻāĻ°āĻžāĻ˛ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§ āĻāĻžāĻāĻ¯āĻŧāĻžāĻ¨ā§āĻ° āĻāĻā§ āĻŦāĻž āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻĒāĻžāĻ¯āĻŧā§ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°āĻžāĻ° āĻāĻā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻžāĨ¤
āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°āĻŦā§ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻ§āĻžāĻĒā§ āĻ§āĻžāĻĒā§ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻāĻŦāĻ āĻā§āĻĄ āĻ¸āĻš āĻĻā§āĻ°ā§āĻ¤ āĻāĻŦāĻ āĻ¸āĻšāĻā§ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻŽāĻ°āĻž āĻā§āĻĄāĻāĻŋāĻā§ āĻŦā§āĻļ āĻ¨āĻŽāĻ¨ā§āĻ¯āĻŧ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻāĻŋ āĻāĻŦāĻ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĄā§āĻāĻžāĻ¸ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻ
āĻ¨ā§āĻ āĻĒā§āĻļāĻžāĻĻāĻžāĻ° āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋāĻ¤ā§ āĻ
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻŋāĻā§ āĻā§āĻāĻā§ āĻ¨āĻžāĻ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¤āĻŦā§ āĻ¨āĻ¤ā§āĻ¨āĻ°āĻž āĻ¨āĻ¤ā§āĻ¨ āĻāĻŋāĻā§ āĻļāĻŋāĻāĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŦā§āĻ¨, āĻāĻŦāĻ āĻ¯ā§ āĻā§āĻ āĻĻā§āĻ°ā§āĻ¤ āĻāĻŦāĻ āĻāĻžāĻ āĻžāĻŽā§āĻāĻ¤ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻ¨ā§āĻāĻŦā§āĻ āĻ¤ā§āĻ°āĻŋāĻ° āĻ¸ā§āĻŦāĻĒā§āĻ¨ āĻĻā§āĻā§āĻā§āĻ¨ āĻ¤āĻžāĻ°āĻž āĻā§āĻĄāĻāĻŋ āĻ
āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻ¨āĻŋāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ
āĻĨāĻŦāĻž
āĻāĻŽāĻ°āĻž āĻĄā§āĻāĻžāĻ¸ā§āĻ āĻĒā§āĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻāĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§?
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻŽāĻžāĻ¨: āĻāĻŽāĻžāĻĻā§āĻ° āĻŦā§āĻāĻ¤ā§ āĻšāĻŦā§ āĻāĻŽāĻ°āĻž āĻā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻžāĻ āĻāĻ°āĻāĻŋ, āĻ¸āĻžāĻŽāĻā§āĻ°āĻŋāĻ āĻāĻŋāĻ¤ā§āĻ°āĨ¤ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻ°āĻž āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĄā§āĻāĻž āĻāĻžāĻāĻĒāĻā§ āĻ¸āĻšāĻāĻāĻžāĻŦā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ¨ā§āĻĄāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋāĨ¤
import pandas as pd #иĐŧĐŋĐžŅŅиŅŅĐĩĐŧ pandas
import numpy as np #иĐŧĐŋĐžŅŅиŅŅĐĩĐŧ numpy
df = pd.read_csv("AB_NYC_2019.csv") #ŅиŅĐ°ĐĩĐŧ Đ´Đ°ŅĐ°ŅĐĩŅ и СаĐŋиŅŅваĐĩĐŧ в ĐŋĐĩŅĐĩĐŧĐĩĐŊĐŊŅŅ df
df.head(3) #ŅĐŧĐžŅŅиĐŧ ĐŊĐ° ĐŋĐĩŅвŅĐĩ 3 ŅŅŅĐžŅĐēи, ŅŅОйŅ ĐŋĐžĐŊŅŅŅ, ĐēĐ°Đē вŅĐŗĐģŅĐ´ŅŅ СĐŊĐ°ŅĐĩĐŊиŅ
df.info() #ĐĐĩĐŧĐžĐŊŅŅŅиŅŅĐĩĐŧ иĐŊŅĐžŅĐŧĐ°ŅиŅ Đž ĐēĐžĐģĐžĐŊĐēĐ°Ņ
āĻāĻ¸ā§āĻ¨ āĻāĻ˛āĻžāĻŽā§āĻ° āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻĻā§āĻāĻŋ:
- āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻ˛āĻžāĻŽā§āĻ° āĻ˛āĻžāĻāĻ¨ā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻāĻŋ āĻŽā§āĻ āĻ˛āĻžāĻāĻ¨ā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻ˛ā§ āĻ¯āĻžāĻ¯āĻŧ?
- āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻ˛āĻžāĻŽā§ āĻĄā§āĻāĻžāĻ° āĻ¸āĻžāĻ°āĻŽāĻ°ā§āĻŽ āĻā§?
- āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŦāĻŋāĻˇā§āĻ¯āĻĻā§āĻŦāĻžāĻŖā§ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻ°āĻž āĻā§āĻ¨ āĻāĻ˛āĻžāĻŽāĻā§ āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ?
āĻāĻ āĻĒā§āĻ°āĻļā§āĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻ¤ā§āĻ¤āĻ° āĻāĻĒāĻ¨āĻžāĻā§ āĻĄā§āĻāĻžāĻ¸ā§āĻ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻāĻ°ā§āĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŽā§āĻāĻžāĻŽā§āĻāĻŋāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻāĻ˛ā§āĻĒāĻ¨āĻž āĻāĻāĻāĻ¤ā§ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻŦā§āĨ¤
āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻ˛āĻžāĻŽā§āĻ° āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻāĻā§āĻ°āĻāĻžāĻŦā§ āĻĻā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻ°āĻž pandas describe() āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšāĻ˛ āĻ¯ā§ āĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻŽāĻžāĻ¨ āĻ¸āĻš āĻāĻ˛āĻžāĻŽ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ āĻ¨āĻžāĨ¤ āĻāĻŽāĻ°āĻž āĻĒāĻ°ā§ āĻ¤āĻžāĻĻā§āĻ° āĻŽā§āĻāĻžāĻŦā§āĻ˛āĻž āĻāĻ°āĻŦ.
df.describe()
āĻŽā§āĻ¯āĻžāĻāĻŋāĻ āĻāĻŋāĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ˛āĻžāĻāĻā§āĻļāĻ¨
āĻāĻ¸ā§āĻ¨ āĻĻā§āĻāĻŋ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻ¨ āĻŽāĻžāĻ¨ āĻ¨ā§āĻ:
import seaborn as sns
sns.heatmap(df.isnull(),yticklabels=False,cbar=False,cmap='viridis')
āĻāĻāĻŋ āĻāĻĒāĻ°ā§ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻā§āĻšāĻžāĻ°āĻž āĻāĻŋāĻ˛, āĻāĻāĻ¨ āĻāĻŽāĻ°āĻž āĻāĻ°āĻ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻ˛ā§ āĻ¯āĻžāĻŦ
āĻāĻ¸ā§āĻ¨ āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŋ āĻāĻŦāĻ, āĻ¯āĻĻāĻŋ āĻ¸āĻŽā§āĻāĻŦ āĻšāĻ¯āĻŧ, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻžāĻ°āĻŋāĻ¤ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻŽāĻžāĻ¨ āĻāĻā§ āĻāĻŽāĻ¨ āĻāĻ˛āĻžāĻŽāĻā§āĻ˛āĻŋ āĻ¸āĻ°āĻžāĻ¨ (āĻ¤āĻžāĻ°āĻž āĻĢāĻ˛āĻžāĻĢāĻ˛āĻā§ āĻā§āĻ¨ā§āĻāĻžāĻŦā§āĻ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻāĻ°āĻŦā§ āĻ¨āĻž):
df = df[[c for c
in list(df)
if len(df[c].unique()) > 1]] #ĐĐĩŅĐĩСаĐŋиŅŅваĐĩĐŧ Đ´Đ°ŅĐ°ŅĐĩŅ, ĐžŅŅавĐģŅŅ ŅĐžĐģŅĐēĐž ŅĐĩ ĐēĐžĐģĐžĐŊĐēи, в ĐēĐžŅĐžŅŅŅ
йОĐģŅŅĐĩ ОдĐŊĐžĐŗĐž ŅĐŊиĐēĐ°ĐģŅĐŊĐžĐŗĐž СĐŊĐ°ŅĐĩĐŊиŅ
āĻāĻāĻ¨ āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻā§āĻĻā§āĻ°āĻā§ āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻ¸āĻžāĻĢāĻ˛ā§āĻ¯āĻā§ āĻĄā§āĻĒā§āĻ˛āĻŋāĻā§āĻ āĻ˛āĻžāĻāĻ¨ āĻĨā§āĻā§ āĻ°āĻā§āĻˇāĻž āĻāĻ°āĻŋ (āĻ¯ā§ āĻ˛āĻžāĻāĻ¨ā§ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ˛āĻžāĻāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋāĻ° āĻŽāĻ¤ā§ āĻāĻāĻ āĻā§āĻ°āĻŽā§ āĻāĻāĻ āĻ¤āĻĨā§āĻ¯ āĻ°āĻ¯āĻŧā§āĻā§):
df.drop_duplicates(inplace=True) #ĐĐĩĐģĐ°ĐĩĐŧ ŅŅĐž, ĐĩŅĐģи ŅŅиŅĐ°ĐĩĐŧ ĐŊŅĐļĐŊŅĐŧ.
#Đ ĐŊĐĩĐēĐžŅĐžŅŅŅ
ĐŋŅĐžĐĩĐēŅĐ°Ņ
ŅĐ´Đ°ĐģŅŅŅ ŅĐ°ĐēиĐĩ Đ´Đ°ĐŊĐŊŅĐĩ Ņ ŅĐ°ĐŧĐžĐŗĐž ĐŊĐ°ŅĐ°ĐģĐ° ĐŊĐĩ ŅŅОиŅ.
āĻāĻŽāĻ°āĻž āĻĄā§āĻāĻžāĻ¸ā§āĻāĻāĻŋāĻā§ āĻĻā§āĻāĻŋ āĻāĻžāĻā§ āĻāĻžāĻ āĻāĻ°āĻŋ: āĻāĻāĻāĻŋ āĻā§āĻŖāĻāĻ¤ āĻŽāĻžāĻ¨ āĻ¸āĻš āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻāĻŋ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖāĻāĻ¤ āĻŽāĻžāĻ¨ āĻ¸āĻš
āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻā§āĻ āĻ¸ā§āĻĒāĻˇā§āĻā§āĻāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§: āĻ¯āĻĻāĻŋ āĻā§āĻŖāĻāĻ¤ āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖāĻāĻ¤ āĻĄā§āĻāĻžāĻ¤ā§ āĻ āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĄā§āĻāĻž āĻ¸āĻš āĻ˛āĻžāĻāĻ¨āĻā§āĻ˛āĻŋ āĻāĻā§ āĻ āĻĒāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻā§āĻŦ āĻŦā§āĻļāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻ¯ā§āĻā§āĻ¤ āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¤ā§ āĻšāĻŦā§ āĻ¯ā§ āĻāĻŽāĻ°āĻž āĻā§ āĻā§āĻ¸āĻ°ā§āĻ āĻāĻ°āĻŦ - āĻ āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĄā§āĻāĻž āĻ¸āĻš āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ˛āĻžāĻāĻ¨, āĻ¤āĻžāĻĻā§āĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻ āĻāĻļ, āĻŦāĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ˛āĻžāĻŽāĨ¤ āĻ¯āĻĻāĻŋ āĻ˛āĻžāĻāĻ¨āĻā§āĻ˛āĻŋ āĻĒāĻžāĻ°āĻ¸ā§āĻĒāĻ°āĻŋāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻ¯ā§āĻā§āĻ¤ āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§ āĻĄā§āĻāĻžāĻ¸ā§āĻāĻāĻŋāĻā§ āĻĻā§āĻāĻŋ āĻāĻžāĻā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻ āĻ§āĻŋāĻāĻžāĻ° āĻāĻŽāĻžāĻĻā§āĻ° āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻāĻĒāĻ¨āĻžāĻā§ āĻĒā§āĻ°āĻĨāĻŽā§ āĻ¸ā§āĻ āĻ˛āĻžāĻāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻāĻžāĻŦāĻŋāĻ˛āĻž āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¯āĻž āĻā§āĻŖāĻāĻ¤ āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖāĻāĻ¤āĻāĻžāĻŦā§ āĻ āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĄā§āĻāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ āĻ°āĻžāĻā§ āĻ¨āĻž āĻāĻŦāĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻĄā§āĻāĻžāĻ¸ā§āĻāĻāĻŋāĻā§ āĻĻā§āĻāĻŋ āĻāĻžāĻā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
df_numerical = df.select_dtypes(include = [np.number])
df_categorical = df.select_dtypes(exclude = [np.number])
āĻāĻ āĻĻā§āĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻŖā§āĻ° āĻĄā§āĻāĻž āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻšāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻ°āĻž āĻāĻāĻŋ āĻāĻ°āĻŋ - āĻĒāĻ°ā§ āĻāĻŽāĻ°āĻž āĻŦā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŦ āĻāĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻŦāĻ¨āĻā§ āĻāĻ¤āĻāĻž āĻ¸āĻšāĻ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§āĨ¤
āĻāĻŽāĻ°āĻž āĻĒāĻ°āĻŋāĻŽāĻžāĻŖāĻāĻ¤ āĻ¤āĻĨā§āĻ¯ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻžāĻ āĻāĻ°āĻŋ
āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻāĻŋāĻ¨āĻŋāĻ¸āĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¯ā§ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖāĻāĻ¤ āĻĄā§āĻāĻžāĻ¤ā§ "āĻā§āĻĒā§āĻ¤āĻāĻ° āĻāĻ˛āĻžāĻŽ" āĻāĻā§ āĻāĻŋāĻ¨āĻžāĨ¤ āĻāĻŽāĻ°āĻž āĻāĻ āĻāĻ˛āĻžāĻŽāĻā§āĻ˛āĻŋāĻā§ āĻŦāĻ˛āĻŋ āĻāĻžāĻ°āĻŖ āĻ¤āĻžāĻ°āĻž āĻ¨āĻŋāĻā§āĻĻā§āĻ°āĻā§ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖāĻāĻ¤ āĻĄā§āĻāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻā§āĻŖāĻāĻ¤ āĻĄā§āĻāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§āĨ¤
āĻāĻŽāĻ°āĻž āĻāĻŋāĻāĻžāĻŦā§ āĻ¤āĻžāĻĻā§āĻ° āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ? āĻ āĻŦāĻļā§āĻ¯āĻ, āĻāĻāĻŋ āĻ¸āĻŦāĻ āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ āĻāĻĒāĻ¨āĻŋ āĻ¯ā§ āĻĄā§āĻāĻž āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°āĻā§āĻ¨ āĻ¤āĻžāĻ° āĻĒā§āĻ°āĻā§āĻ¤āĻŋāĻ° āĻāĻĒāĻ°, āĻ¤āĻŦā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻāĻ˛āĻžāĻŽāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻ āĻ¨āĻ¨ā§āĻ¯ āĻĄā§āĻāĻž āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ (3-10 āĻ āĻ¨āĻ¨ā§āĻ¯ āĻŽāĻžāĻ¨ā§āĻ° āĻ āĻā§āĻāĻ˛ā§)āĨ¤
print(df_numerical.nunique())
āĻāĻāĻŦāĻžāĻ° āĻāĻŽāĻ°āĻž āĻā§āĻĒā§āĻ¤āĻāĻ° āĻāĻ˛āĻžāĻŽāĻā§āĻ˛āĻŋ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻāĻŽāĻ°āĻž āĻ¤āĻžāĻĻā§āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖāĻāĻ¤ āĻĄā§āĻāĻž āĻĨā§āĻā§ āĻā§āĻŖāĻāĻ¤ āĻĄā§āĻāĻžāĻ¤ā§ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻŦ:
spy_columns = df_numerical[['ĐēĐžĐģĐžĐŊĐēĐ°1', 'ĐēĐžĐģĐžĐēĐ°2', 'ĐēĐžĐģĐžĐŊĐēĐ°3']]#вŅĐ´ĐĩĐģŅĐĩĐŧ ĐēĐžĐģĐžĐŊĐēи-ŅĐŋиОĐŊŅ и СаĐŋиŅŅваĐĩĐŧ в ĐžŅĐ´ĐĩĐģŅĐŊŅŅ dataframe
df_numerical.drop(labels=['ĐēĐžĐģĐžĐŊĐēĐ°1', 'ĐēĐžĐģĐžĐēĐ°2', 'ĐēĐžĐģĐžĐŊĐēĐ°3'], axis=1, inplace = True)#вŅŅĐĩСаĐĩĐŧ ŅŅи ĐēĐžĐģĐžĐŊĐēи иС ĐēĐžĐģиŅĐĩŅŅвĐĩĐŊĐŊŅŅ
Đ´Đ°ĐŊĐŊŅŅ
df_categorical.insert(1, 'ĐēĐžĐģĐžĐŊĐēĐ°1', spy_columns['ĐēĐžĐģĐžĐŊĐēĐ°1']) #дОйавĐģŅĐĩĐŧ ĐŋĐĩŅвŅŅ ĐēĐžĐģĐžĐŊĐēŅ-ŅĐŋиОĐŊ в ĐēĐ°ŅĐĩŅŅвĐĩĐŊĐŊŅĐĩ Đ´Đ°ĐŊĐŊŅĐĩ
df_categorical.insert(1, 'ĐēĐžĐģĐžĐŊĐēĐ°2', spy_columns['ĐēĐžĐģĐžĐŊĐēĐ°2']) #дОйавĐģŅĐĩĐŧ вŅĐžŅŅŅ ĐēĐžĐģĐžĐŊĐēŅ-ŅĐŋиОĐŊ в ĐēĐ°ŅĐĩŅŅвĐĩĐŊĐŊŅĐĩ Đ´Đ°ĐŊĐŊŅĐĩ
df_categorical.insert(1, 'ĐēĐžĐģĐžĐŊĐēĐ°3', spy_columns['ĐēĐžĐģĐžĐŊĐēĐ°3']) #дОйавĐģŅĐĩĐŧ ŅŅĐĩŅŅŅ ĐēĐžĐģĐžĐŊĐēŅ-ŅĐŋиОĐŊ в ĐēĐ°ŅĐĩŅŅвĐĩĐŊĐŊŅĐĩ Đ´Đ°ĐŊĐŊŅĐĩ
āĻ āĻŦāĻļā§āĻˇā§, āĻāĻŽāĻ°āĻž āĻā§āĻŖāĻāĻ¤ āĻĄā§āĻāĻž āĻĨā§āĻā§ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖāĻāĻ¤ āĻĄā§āĻāĻž āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ°ā§āĻĒā§ āĻāĻ˛āĻžāĻĻāĻž āĻāĻ°ā§āĻāĻŋ āĻāĻŦāĻ āĻāĻāĻ¨ āĻāĻŽāĻ°āĻž āĻāĻāĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻāĻŋāĻ¨āĻŋāĻ¸āĻāĻŋ āĻŦā§āĻāĻ¤ā§ āĻšāĻŦā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻĨāĻžāĻ¯āĻŧ āĻāĻžāĻ˛āĻŋ āĻŽāĻžāĻ¨ āĻ°āĻ¯āĻŧā§āĻā§ (NaN, āĻāĻŦāĻ āĻāĻŋāĻā§ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ 0 āĻāĻžāĻ˛āĻŋ āĻŽāĻžāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻž āĻšāĻŦā§)āĨ¤
for i in df_numerical.columns:
print(i, df[i][df[i]==0].count())
āĻāĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§, āĻā§āĻ¨ āĻāĻ˛āĻžāĻŽā§ āĻļā§āĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¤āĻž āĻŦā§āĻāĻž āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ: āĻāĻāĻŋ āĻāĻŋ āĻĄā§āĻāĻž āĻ¸āĻāĻā§āĻ°āĻš āĻāĻ°āĻžāĻ° āĻāĻžāĻ°āĻŖā§? āĻ āĻĨāĻŦāĻž āĻāĻāĻŋ āĻĄā§āĻāĻž āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§? āĻāĻ āĻĒā§āĻ°āĻļā§āĻ¨ā§āĻ° āĻāĻ¤ā§āĻ¤āĻ° āĻā§āĻ¸-āĻŦāĻžāĻ-āĻā§āĻ¸ āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§ āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻāĻāĻ¨āĻ āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ āĻ¯ā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻļā§āĻ¨ā§āĻ¯ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻĄā§āĻāĻž āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§ āĻĢā§āĻ˛āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ, āĻ¤āĻžāĻšāĻ˛ā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§āĻ¤ā§ āĻāĻ āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻĄā§āĻāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻž āĻāĻ°āĻ āĻ¸āĻšāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ° āĻļā§āĻ¨ā§āĻ¯āĻā§āĻ˛āĻŋāĻā§ NaN āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤:
df_numerical[["ĐēĐžĐģĐžĐŊĐēĐ° 1", "ĐēĐžĐģĐžĐŊĐēĐ° 2"]] = df_numerical[["ĐēĐžĐģĐžĐŊĐēĐ° 1", "ĐēĐžĐģĐžĐŊĐēĐ° 2"]].replace(0, nan)
āĻāĻāĻ¨ āĻĻā§āĻāĻž āĻ¯āĻžāĻ āĻāĻŽāĻ°āĻž āĻā§āĻĨāĻžāĻ¯āĻŧ āĻĄā§āĻāĻž āĻŽāĻŋāĻ¸ āĻāĻ°āĻāĻŋ:
sns.heatmap(df_numerical.isnull(),yticklabels=False,cbar=False,cmap='viridis') # ĐĐžĐļĐŊĐž ŅĐ°ĐēĐļĐĩ вОŅĐŋĐžĐģŅСОваŅŅŅŅ df_numerical.info()
āĻāĻāĻžāĻ¨ā§ āĻ
āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻāĻ˛āĻžāĻŽāĻā§āĻ˛āĻŋāĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻ¸ā§āĻ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻšāĻ˛ā§āĻĻ āĻ°āĻā§ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤ āĻāĻŦāĻ āĻāĻāĻ¨ āĻŽāĻāĻž āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ - āĻāĻŋāĻāĻžāĻŦā§ āĻāĻ āĻŽāĻžāĻ¨ āĻŽā§āĻāĻžāĻŦā§āĻ˛āĻž āĻāĻ°āĻ¤ā§? āĻāĻŽāĻŋ āĻāĻŋ āĻāĻ āĻŽāĻžāĻ¨ āĻŦāĻž āĻāĻ˛āĻžāĻŽāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻ°āĻŋ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ? āĻ¨āĻžāĻāĻŋ āĻ
āĻ¨ā§āĻ¯ āĻāĻŋāĻā§ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻ āĻāĻžāĻ˛āĻŋ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻŖ āĻāĻ°āĻŦā§āĻ¨?
āĻāĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻŽāĻžāĻ¨āĻŋāĻ āĻāĻŋāĻ¤ā§āĻ° āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯ā§ āĻ¨ā§āĻ¤āĻŋāĻāĻ¤āĻāĻžāĻŦā§, āĻāĻžāĻ˛āĻŋ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻā§ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§:
0. āĻ
āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻāĻ˛āĻžāĻŽ āĻ¸āĻ°āĻžāĻ¨
df_numerical.drop(labels=["ĐēĐžĐģĐžĐŊĐēĐ°1","ĐēĐžĐģĐžĐŊĐēĐ°2"], axis=1, inplace=True)
1. āĻāĻ āĻāĻ˛āĻžāĻŽā§ āĻāĻžāĻ˛āĻŋ āĻŽāĻžāĻ¨ā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻāĻŋ 50% āĻāĻ° āĻŦā§āĻļāĻŋ?
print(df_numerical.isnull().sum() / df_numerical.shape[0] * 100)
df_numerical.drop(labels=["ĐēĐžĐģĐžĐŊĐēĐ°1","ĐēĐžĐģĐžĐŊĐēĐ°2"], axis=1, inplace=True)#ĐŖĐ´Đ°ĐģŅĐĩĐŧ, ĐĩŅĐģи ĐēĐ°ĐēĐ°Ņ-ŅĐž ĐēĐžĐģĐžĐŊĐēĐ° иĐŧĐĩĐĩŅ йОĐģŅŅĐĩ 50 ĐŋŅŅŅŅŅ
СĐŊĐ°ŅĐĩĐŊиК
2. āĻāĻžāĻ˛āĻŋ āĻŽāĻžāĻ¨ āĻ¸āĻš āĻ˛āĻžāĻāĻ¨ āĻŽā§āĻā§āĻ¨
df_numerical.dropna(inplace=True)#ĐŖĐ´Đ°ĐģŅĐĩĐŧ ŅŅŅĐžŅĐēи Ņ ĐŋŅŅŅŅĐŧи СĐŊĐ°ŅĐĩĐŊиŅĐŧи, ĐĩŅĐģи ĐŋĐžŅĐžĐŧ ĐžŅŅĐ°ĐŊĐĩŅŅŅ Đ´ĐžŅŅĐ°ŅĐžŅĐŊĐž Đ´Đ°ĐŊĐŊŅŅ
Đ´ĐģŅ ОйŅŅĐĩĐŊиŅ
3.1āĨ¤ āĻāĻāĻāĻŋ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻŽāĻžāĻ¨ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ
import random #иĐŧĐŋĐžŅŅиŅŅĐĩĐŧ random
df_numerical["ĐēĐžĐģĐžĐŊĐēĐ°"].fillna(lambda x: random.choice(df[df[column] != np.nan]["ĐēĐžĐģĐžĐŊĐēĐ°"]), inplace=True) #вŅŅавĐģŅĐĩĐŧ ŅĐ°ĐŊĐ´ĐžĐŧĐŊŅĐĩ СĐŊĐ°ŅĐĩĐŊиŅ в ĐŋŅŅŅŅĐĩ ĐēĐģĐĩŅĐēи ŅĐ°ĐąĐģиŅŅ
3.2āĨ¤ āĻāĻāĻāĻŋ āĻ§ā§āĻ°ā§āĻŦāĻ āĻŽāĻžāĻ¨ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ āĻāĻ°āĻžāĻ¨
from sklearn.impute import SimpleImputer #иĐŧĐŋĐžŅŅиŅŅĐĩĐŧ SimpleImputer, ĐēĐžŅĐžŅŅĐš ĐŋĐžĐŧĐžĐļĐĩŅ вŅŅавиŅŅ СĐŊĐ°ŅĐĩĐŊиŅ
imputer = SimpleImputer(strategy='constant', fill_value="<ĐĐ°ŅĐĩ СĐŊĐ°ŅĐĩĐŊиĐĩ СдĐĩŅŅ>") #вŅŅавĐģŅĐĩĐŧ ĐžĐŋŅĐĩĐ´ĐĩĐģĐĩĐŊĐŊĐžĐĩ СĐŊĐ°ŅĐĩĐŊиĐĩ Ņ ĐŋĐžĐŧĐžŅŅŅ SimpleImputer
df_numerical[["ĐŊОваŅ_ĐēĐžĐģĐžĐŊĐēĐ°1",'ĐŊОваŅ_ĐēĐžĐģĐžĐŊĐēĐ°2','ĐŊОваŅ_ĐēĐžĐģĐžĐŊĐēĐ°3']] = imputer.fit_transform(df_numerical[['ĐēĐžĐģĐžĐŊĐēĐ°1', 'ĐēĐžĐģĐžĐŊĐēĐ°2', 'ĐēĐžĐģĐžĐŊĐēĐ°3']]) #ĐŅиĐŧĐĩĐŊŅĐĩĐŧ ŅŅĐž Đ´ĐģŅ ĐŊĐ°ŅĐĩĐš ŅĐ°ĐąĐģиŅŅ
df_numerical.drop(labels = ["ĐēĐžĐģĐžĐŊĐēĐ°1","ĐēĐžĐģĐžĐŊĐēĐ°2","ĐēĐžĐģĐžĐŊĐēĐ°3"], axis = 1, inplace = True) #ĐŖйиŅĐ°ĐĩĐŧ ĐēĐžĐģĐžĐŊĐēи ŅĐž ŅŅĐ°ŅŅĐŧи СĐŊĐ°ŅĐĩĐŊиŅĐŧи
3.3āĨ¤ āĻāĻĄāĻŧ āĻŦāĻž āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻāĻ¨ āĻāĻ¨ āĻŽāĻžāĻ¨ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ āĻāĻ°āĻžāĻ¨
from sklearn.impute import SimpleImputer #иĐŧĐŋĐžŅŅиŅŅĐĩĐŧ SimpleImputer, ĐēĐžŅĐžŅŅĐš ĐŋĐžĐŧĐžĐļĐĩŅ вŅŅавиŅŅ СĐŊĐ°ŅĐĩĐŊиŅ
imputer = SimpleImputer(strategy='mean', missing_values = np.nan) #вĐŧĐĩŅŅĐž mean ĐŧĐžĐļĐŊĐž ŅĐ°ĐēĐļĐĩ иŅĐŋĐžĐģŅСОваŅŅ most_frequent
df_numerical[["ĐŊОваŅ_ĐēĐžĐģĐžĐŊĐēĐ°1",'ĐŊОваŅ_ĐēĐžĐģĐžĐŊĐēĐ°2','ĐŊОваŅ_ĐēĐžĐģĐžĐŊĐēĐ°3']] = imputer.fit_transform(df_numerical[['ĐēĐžĐģĐžĐŊĐēĐ°1', 'ĐēĐžĐģĐžĐŊĐēĐ°2', 'ĐēĐžĐģĐžĐŊĐēĐ°3']]) #ĐŅиĐŧĐĩĐŊŅĐĩĐŧ ŅŅĐž Đ´ĐģŅ ĐŊĐ°ŅĐĩĐš ŅĐ°ĐąĐģиŅŅ
df_numerical.drop(labels = ["ĐēĐžĐģĐžĐŊĐēĐ°1","ĐēĐžĐģĐžĐŊĐēĐ°2","ĐēĐžĐģĐžĐŊĐēĐ°3"], axis = 1, inplace = True) #ĐŖйиŅĐ°ĐĩĐŧ ĐēĐžĐģĐžĐŊĐēи ŅĐž ŅŅĐ°ŅŅĐŧи СĐŊĐ°ŅĐĩĐŊиŅĐŧи
3.4āĨ¤ āĻ āĻ¨ā§āĻ¯ āĻŽāĻĄā§āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻŖāĻ¨āĻž āĻāĻ°āĻž āĻŽāĻžāĻ¨ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ āĻāĻ°āĻžāĻ¨
āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻŽāĻžāĻ¨ āĻ¸ā§āĻāĻ˛āĻžāĻ° āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻŦāĻž āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻĨā§āĻā§ āĻŽāĻĄā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ°āĻŋāĻā§āĻ°ā§āĻļāĻ¨ āĻŽāĻĄā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŖāĻ¨āĻž āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ āĻĻā§āĻ° āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§ āĻāĻāĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻĻāĻ˛ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ āĻāĻ¤ā§āĻ¸āĻ°ā§āĻ āĻāĻ°āĻŦā§āĨ¤
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻāĻĒāĻžāĻ¤āĻ¤, āĻĒāĻ°āĻŋāĻŽāĻžāĻŖāĻāĻ¤ āĻĄā§āĻāĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻā§āĻ¯āĻžāĻ¨āĻāĻŋ āĻŦāĻžāĻ§āĻžāĻā§āĻ°āĻ¸ā§āĻ¤ āĻšāĻŦā§, āĻāĻžāĻ°āĻŖ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻžāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĻŋ āĻāĻŦāĻ āĻĒā§āĻ°āĻŋāĻĒā§āĻ°āĻ¸ā§āĻ¸āĻŋāĻ āĻā§āĻāĻžāĻŦā§ āĻāĻ°āĻ āĻāĻžāĻ˛āĻāĻžāĻŦā§ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°āĻ āĻ āĻ¨ā§āĻ āĻ¸ā§āĻā§āĻˇā§āĻŽāĻ¤āĻž āĻ°āĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖāĻāĻ¤ āĻĄā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻā§āĻ˛āĻŋ āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻŦāĻ āĻāĻāĻ¨ āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ¸ā§āĻā§ āĻā§āĻŖāĻāĻ¤ āĻ¤āĻĨā§āĻ¯ā§ āĻĢāĻŋāĻ°ā§ āĻ¯āĻžāĻŦāĻžāĻ°āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻ¨ā§āĻāĻŦā§āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻā§āĻāĻžāĻŽāĻ¤ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻāĻŋāĻā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻžāĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻĒ āĻāĻžāĻāĻ¯āĻŧā§ āĻ¨āĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¯āĻžāĻ¤ā§ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻŋāĻĒā§āĻ°āĻ¸ā§āĻ¸āĻŋāĻ āĻā§āĻŦ āĻĻā§āĻ°ā§āĻ¤ āĻšāĻ¯āĻŧ!
āĻā§āĻŖāĻāĻ¤ āĻ¤āĻĨā§āĻ¯
āĻŽā§āĻ˛āĻ¤, āĻā§āĻŖāĻāĻ¤ āĻĄā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻ¯āĻŧāĻžāĻ¨-āĻšāĻ-āĻāĻ¨āĻā§āĻĄāĻŋāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻ (āĻŦāĻž āĻŦāĻ¸ā§āĻ¤ā§) āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻ¸āĻāĻā§āĻ¯āĻžāĻ¯āĻŧ āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ āĻŦāĻŋāĻ¨ā§āĻĻā§āĻ¤ā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻžāĻ° āĻāĻā§, āĻāĻžāĻ˛āĻŋ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻŽā§āĻāĻžāĻŦā§āĻ˛āĻž āĻāĻ°āĻ¤ā§ āĻāĻĒāĻ°ā§āĻ° āĻāĻŋāĻ¤ā§āĻ° āĻāĻŦāĻ āĻā§āĻĄāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžāĻāĨ¤
df_categorical.nunique()
sns.heatmap(df_categorical.isnull(),yticklabels=False,cbar=False,cmap='viridis')
0. āĻ
āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻāĻ˛āĻžāĻŽ āĻ¸āĻ°āĻžāĻ¨
df_categorical.drop(labels=["ĐēĐžĐģĐžĐŊĐēĐ°1","ĐēĐžĐģĐžĐŊĐēĐ°2"], axis=1, inplace=True)
1. āĻāĻ āĻāĻ˛āĻžāĻŽā§ āĻāĻžāĻ˛āĻŋ āĻŽāĻžāĻ¨ā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻāĻŋ 50% āĻāĻ° āĻŦā§āĻļāĻŋ?
print(df_categorical.isnull().sum() / df_numerical.shape[0] * 100)
df_categorical.drop(labels=["ĐēĐžĐģĐžĐŊĐēĐ°1","ĐēĐžĐģĐžĐŊĐēĐ°2"], axis=1, inplace=True) #ĐŖĐ´Đ°ĐģŅĐĩĐŧ, ĐĩŅĐģи ĐēĐ°ĐēĐ°Ņ-ŅĐž ĐēĐžĐģĐžĐŊĐēĐ°
#иĐŧĐĩĐĩŅ йОĐģŅŅĐĩ 50% ĐŋŅŅŅŅŅ
СĐŊĐ°ŅĐĩĐŊиК
2. āĻāĻžāĻ˛āĻŋ āĻŽāĻžāĻ¨ āĻ¸āĻš āĻ˛āĻžāĻāĻ¨ āĻŽā§āĻā§āĻ¨
df_categorical.dropna(inplace=True)#ĐŖĐ´Đ°ĐģŅĐĩĐŧ ŅŅŅĐžŅĐēи Ņ ĐŋŅŅŅŅĐŧи СĐŊĐ°ŅĐĩĐŊиŅĐŧи,
#ĐĩŅĐģи ĐŋĐžŅĐžĐŧ ĐžŅŅĐ°ĐŊĐĩŅŅŅ Đ´ĐžŅŅĐ°ŅĐžŅĐŊĐž Đ´Đ°ĐŊĐŊŅŅ
Đ´ĐģŅ ОйŅŅĐĩĐŊиŅ
3.1āĨ¤ āĻāĻāĻāĻŋ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻŽāĻžāĻ¨ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ
import random
df_categorical["ĐēĐžĐģĐžĐŊĐēĐ°"].fillna(lambda x: random.choice(df[df[column] != np.nan]["ĐēĐžĐģĐžĐŊĐēĐ°"]), inplace=True)
3.2āĨ¤ āĻāĻāĻāĻŋ āĻ§ā§āĻ°ā§āĻŦāĻ āĻŽāĻžāĻ¨ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ āĻāĻ°āĻžāĻ¨
from sklearn.impute import SimpleImputer
imputer = SimpleImputer(strategy='constant', fill_value="<ĐĐ°ŅĐĩ СĐŊĐ°ŅĐĩĐŊиĐĩ СдĐĩŅŅ>")
df_categorical[["ĐŊОваŅ_ĐēĐžĐģĐžĐŊĐēĐ°1",'ĐŊОваŅ_ĐēĐžĐģĐžĐŊĐēĐ°2','ĐŊОваŅ_ĐēĐžĐģĐžĐŊĐēĐ°3']] = imputer.fit_transform(df_categorical[['ĐēĐžĐģĐžĐŊĐēĐ°1', 'ĐēĐžĐģĐžĐŊĐēĐ°2', 'ĐēĐžĐģĐžĐŊĐēĐ°3']])
df_categorical.drop(labels = ["ĐēĐžĐģĐžĐŊĐēĐ°1","ĐēĐžĐģĐžĐŊĐēĐ°2","ĐēĐžĐģĐžĐŊĐēĐ°3"], axis = 1, inplace = True)
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻāĻŽāĻ°āĻž āĻ āĻŦāĻļā§āĻˇā§ āĻā§āĻŖāĻāĻ¤ āĻĄā§āĻāĻžāĻ¤ā§ āĻ¨āĻžāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ˛ āĻĒā§āĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻĨāĻžāĻāĻž āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻ-āĻšāĻ-āĻāĻ¨āĻā§āĻĄāĻŋāĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĨ¤ āĻāĻĒāĻ¨āĻžāĻ° āĻ ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽ āĻāĻā§āĻ-āĻŽāĻžāĻ¨ā§āĻ° āĻĄā§āĻāĻž āĻĨā§āĻā§ āĻļāĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤
def encode_and_bind(original_dataframe, feature_to_encode):
dummies = pd.get_dummies(original_dataframe[[feature_to_encode]])
res = pd.concat([original_dataframe, dummies], axis=1)
res = res.drop([feature_to_encode], axis=1)
return(res)
features_to_encode = ["ĐēĐžĐģĐžĐŊĐēĐ°1","ĐēĐžĐģĐžĐŊĐēĐ°2","ĐēĐžĐģĐžĐŊĐēĐ°3"]
for feature in features_to_encode:
df_categorical = encode_and_bind(df_categorical, feature))
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻāĻŽāĻ°āĻž āĻ āĻŦāĻļā§āĻˇā§ āĻĒā§āĻĨāĻ āĻā§āĻŖāĻāĻ¤ āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖāĻāĻ¤ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖ āĻļā§āĻˇ āĻāĻ°ā§āĻāĻŋ - āĻ¤āĻžāĻĻā§āĻ° āĻāĻŦāĻžāĻ° āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ
new_df = pd.concat([df_numerical,df_categorical], axis=1)
āĻāĻŽāĻ°āĻž āĻĄā§āĻāĻžāĻ¸ā§āĻāĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻ¤ā§āĻ°ā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻāĻŽāĻ°āĻž āĻ āĻŦāĻļā§āĻˇā§ sklearn āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻĨā§āĻā§ MinMaxScaler āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĄā§āĻāĻž āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻĢāĻ°ā§āĻŽā§āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ 0 āĻāĻŦāĻ 1 āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦā§, āĻ¯āĻž āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§ āĻŽāĻĄā§āĻ˛āĻā§ āĻĒā§āĻ°āĻļāĻŋāĻā§āĻˇāĻŖ āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻŦā§āĨ¤
from sklearn.preprocessing import MinMaxScaler
min_max_scaler = MinMaxScaler()
new_df = min_max_scaler.fit_transform(new_df)
āĻāĻ āĻĄā§āĻāĻž āĻāĻāĻ¨ āĻ¯ā§āĻā§āĻ¨ā§ āĻāĻŋāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ - āĻ¨āĻŋāĻāĻ°āĻžāĻ˛ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ, āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻāĻŽāĻāĻ˛ āĻ ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ!
āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§, āĻāĻŽāĻ°āĻž āĻāĻžāĻāĻŽ āĻ¸āĻŋāĻ°āĻŋāĻ āĻĄā§āĻāĻž āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻĨāĻž āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻŋāĻ¨āĻŋ, āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻĄā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ āĻāĻŋāĻā§āĻāĻž āĻāĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖ āĻā§āĻļāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤ āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻĻāĻ˛ āĻāĻ āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ āĻāĻ¤ā§āĻ¸āĻ°ā§āĻ āĻāĻ°āĻŦā§, āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻāĻļāĻž āĻāĻ°āĻŋ āĻ¯ā§ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻŦāĻ¨ā§ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ, āĻ¨āĻ¤ā§āĻ¨ āĻāĻŦāĻ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻāĻŋāĻā§ āĻāĻ¨āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŦā§, āĻ āĻŋāĻ āĻāĻāĻŋāĻ° āĻŽāĻ¤ā§āĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com