แฎแจแแ แแ, แแแแแชแแแแ แแแชแแแแ แแแแก แกแคแแ แแจแ แจแแกแฃแ แแแแแแแแแแก แแ แแ แแแแฃแ แ แฌแแ แแแแแแแ แแฅแแ แแแแก แจแแกแแฎแแ, แแฃ แ แ แแแแก แแแ. แแแแ แ แคแแฅแ แแแก, แ แแ แแฎแแ แแแ แจแแแซแแแแแ แแแแแ แ แแแแ แแแฃแแ แฅแกแแแแแแก แแแฌแแ แ, Iron Man-แแก แฎแแแแแแ แแกแแกแขแแแขแแก แจแแฅแแแ แแ แคแแแแแกแฃแ แแแแ แแแแ แงแแแแแก แแแแแ แชแฎแแแ.
แแแแ แแ แแฃแจแแแแ แแแ แแฆแ แแแชแแแแ แ แแแแแชแแแแแแแ แแ แแแแขแแ แแแฃแแ แแ แแ แ-แแ แแ แงแแแแแแ แแแแจแแแแแแแแแ แแ แจแ แแแแขแแแแแ แแกแแแฅแขแ แแแแแชแแแแแแก แแแแฃแจแแแแแแ แแแ แแฃแ แฅแกแแแจแ แแแ แจแแขแแแแแแ แแ แแแ แแแแฃแแ แแแแ แแแแแแแแแแ.
แแ แกแขแแขแแแจแ แฉแแแแ แแฃแแแ แแฆแฌแแ แก, แแฃ แ แแแแ แจแแแแซแแแแ แแแแแชแแแแแแก แแแ แขแแแแ แแ แกแฌแ แแคแแ แแแแฃแจแแแแแ แแขแแแแแ แแแ แแแกแขแ แฃแฅแชแแแแแกแ แแ แแแแแก แแแแแงแแแแแแ. แฉแแแ แแแชแแแแ, แแแแ แกแแแแแ แแกแแ แแแฅแแแแ แแแแแแฎแแแ, แ แแแ แแแแแงแแแแแฃแแแงแ แกแฎแแแแแกแฎแแ แแแแแชแแแแ แแแแ แแแแแแกแแแแก.
แแแแ แแ แแ แแคแแกแแแแแแแ แจแแแซแแแแ แแ แกแขแแขแแแจแ แแแ แแคแแ แ แแแแกแแแฃแแ แแแฃแแ แแแ แแฆแแแแฉแแแแก, แแแแ แแ แแแแฌแงแแแแแก แจแแแซแแแแแ แ แแฆแแช แแฎแแแ แแกแฌแแแแแ แแ แงแแแแแก, แแแแช แแแแ แฎแแแแ แแชแแแแแแก แชแแแแ แ แแแฃแแแก แจแแฅแแแแแ แกแฌแ แแคแ แแ แกแขแ แฃแฅแขแฃแ แแ แแแฃแแ แแแแแชแแแแ แแแแฃแจแแแแแแกแแแแก, แจแแฃแซแแแ แแแแแก แแแแแ แแแ แแ แแแกแ แคแแ แแแขแแ แแแ แแแแแ, แแ
แแแแแชแแแแ แแแแ แแแ แแแแแฆแ. แ แ แฃแแแ แแแแแแแแแ แจแแแแแ?
แแกแ แ แแ, แกแขแแแแแ แขแ: แฉแแแ แฃแแแ แแแแกแแแแแก, แ แแกแแแ แแแแฅแแก แกแแฅแแ, แแแแแแ แกแฃแ แแแ. แแแแกแแแแแก แฉแแแ แแแแแแแก แแแงแแแแแ แแแแแชแแแแ แกแฎแแแแแกแฎแแ แขแแแแก แแแ แขแแแแ แแแแกแแแฆแแ แแกแแแแก.
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 แกแฎแแ แแแแแแแ แแแแแแแแแแ แแแแจแแแแแแแแก แฉแแกแแ
แแแแฏแแ แแแแจแแแแแแแแแแก แแแแแแแแ แจแแกแแซแแแแแแแ แ แแแ แแกแแฃแแ แแแแแแแแแก แแแแแงแแแแแแ, sklearn แแแแแแแแแแแก แแ แกแฎแแ แแกแแแแกแ แแแแแแแแแแแแแก แแแแแแแแแก แแแแแงแแแแแแ. แฉแแแแ แแฃแแแ แฃแแฎแแแแก แแแแแแแแจแ แชแแแแ แกแขแแขแแแก แแแฃแซแฆแแแแก แแแแก แจแแกแแฎแแ, แแฃ แ แแแแ แจแแแซแแแแ แแแแก แแแแแแแแ.
แแกแ แ แแ, แแฎแแ แ แแแแแแแแ แแแ แแแแแชแแแแแแก แจแแกแแฎแแ แแกแขแแ แแ แจแแฌแงแแแแ, แ แแแแแ แแ แกแแแแแก แแ แแแแแ แกแฎแแ แแแฃแแแกแ แแแแก แจแแกแแฎแแ, แแฃ แ แแแแ แฃแแแ แแแฎแแแก แแแแแชแแแแแแก แแแแแแแแแ แแ แฌแแแแกแฌแแ แ แแแแฃแจแแแแแ แกแฎแแแแแกแฎแแ แแแแชแแแแแแกแแแแก แแ แ แแแแแแแแ แแแ แแแแแชแแแแแแก แซแแ แแแแแ แกแแแแแฎแแแ แแแแแแแแกแฌแแแแแฃแแ แแงแ แแ แกแขแแขแแแจแ แแ แแฎแแ แแ แแ แแแแฃแแ แฃแแแแ แแแแกแแแ แแ แแแแแชแแแแแก, แ แแแแแแแช แ แแแแแแแแ แแแแแฏแแ แฃแแแ แแแแแแงแแแแ แ แแแแแแแแ แแแแกแแแ. แแฅแแแ แจแแแแซแแแแ แจแแชแแแแแ แแก แ แแแฃแแ แแฅแแแแ แกแฃแ แแแแแกแแแแแ , แกแฎแแแแแกแฎแแ แแแแชแแแแแแกแแแแก แแแ แแแแแ, แ แแแ แแแแแชแแแแ แฌแแแแกแฌแแ แ แแแแฃแจแแแแแ แซแแแแแ แกแฌแ แแคแแ แแแฎแแแก!
แแแแกแแแ แแแ แแแแแชแแแแแ
แซแแ แแแแแแ, แแแแกแแแ แแแ แแแแแชแแแแแแกแแแแก, One-hot-encoding แแแแแแ แแแแแแงแแแแแ แแแแ แกแขแ แแฅแแแแแแ (แแ แแแแแฅแขแแแแ) แ แแชแฎแแแ แคแแ แแแขแแ แแแแกแแแแก. แกแแแแ แแ แกแแแแแฎแแ แแแแแแแแ, แแแแแ แแแแแแแงแแแแ แแแแแ แแแชแแแฃแแ แแแแแ แแแ แแ แแแแ แชแแ แแแแ แแแแจแแแแแแแแแแก แแแกแแแฃแจแแแแแแแ.
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)แแก แแแแแชแแแแแ แแฎแแ แงแแแแแคแ แแกแแแแก แแแแแแ - แแแแ แแแฃแแ แฅแกแแแแแแกแแแแก, แกแขแแแแแ แขแฃแแ ML แแแแแ แแแแแแแกแแแแก แแ แ.แจ.!
แแ แกแขแแขแแแจแ แฉแแแ แแ แแแแแแแแแแกแฌแแแแ แแ แแแแ แกแแ แแแแแก แแแแแชแแแแแแแ แแฃแจแแแแ, แ แแแแแ แแกแแแ แแแแแชแแแแแ แฃแแแ แแแแฃแจแแแแแก แแแแแ แแแแกแฎแแแแแแฃแแ แขแแฅแแแแแก แแแแแงแแแแแแ, แแฅแแแแ แแแแชแแแแแแ แแแแแแแแแแ แ. แแแแแแแแจแ แฉแแแแ แแฃแแแ แแ แแแแแก แชแแแแ แกแขแแขแแแก แแแฃแซแฆแแแแก แแ แแแแแแแแแแแ, แ แแ แแก แแฅแแแแก แชแฎแแแ แแแแก แแกแแ แกแแแแขแแ แแกแ, แแฎแแ แแ แกแแกแแ แแแแแ แ แแแแก แจแแแแแขแแแก, แ แแแแ แแช แแก แแ แแก.
แฌแงแแ แ: www.habr.com
