EDA,전처리 단골 코드 정리

기린이·2021년 2월 21일
0

모아두기🔧

목록 보기
3/39
# 연속형 변수 분포 확인
continuous = train[['Rating','Reviews','Size','Installs','Price']]
continuous.hist(bins=30,figsize=(10,10))
plt.show()

히스토그램 생성

sns.pairplot(df)

seaborn. scatter plot과 히스토그램 한방에 해결

plt.figure(figsize=(15,15))
sns.heatmap(data = df.corr(), annot=True, 
fmt = '.2f', linewidths=.5, cmap='RdYlBu_r')

연속형 변수의 상관관계 히트맵 그리기

찐한색일수록 상관성이 짙다.

f, axes = plt.subplots(1, 3, figsize=(20, 7), sharex=True)
sns.scatterplot(x='income', y='score', data=df, hue=df['KMeans_labels'], ax=axes[0])
sns.scatterplot(x='score', y='age', data=df, hue=df['KMeans_labels'], ax=axes[1])
sns.scatterplot(x='income', y='age', data=df, hue=df['KMeans_labels'], ax=axes[2])

여러 scatter plot을 subplot으로 가지는 플롯그리기

plt.figure(figsize=(10,5))
plt.scatter(x = continuous['Installs'], y = continuous['Rating'])

단순한 scatter plot

def remove_outlier(df,col):
  data = df[col]
  q25 = np.percentile(data.values,25)
  q75 = np.percentile(data.values,75)

  IQR = q75 - q25
  IQR = IQR * 1.5
  low = q25-IQR ; high = q75+IQR
  outlier_index = data[(data<low)|(data>high)].index
  #print(len(outlier_index))
  #df.drop(outlier_index, axis=0, inplace=True)
  #print(df.shape)
  #return df
  return len(outlier_index)

IQR 탐지 함수

b = train['Category'].unique().tolist()

tolist 사용 가능

train['low_Genres'].fillna('', inplace=True)

특정 컬럼 결측치 채우기

df.drop('two',axis=1)
df.drop(['one','two'],axis=1)

컬럼 삭제

df['gender'].replace({'Male':0, 'Female':1}, inplace=True)

간단한 label encoder

cat_col = ['gender', 'martial','city', 'occup','pc1','pc2','pc3']

df = pd.get_dummies(df, columns=cat_col)

컬럼 지정해서 가변수 만들기 가변수는 (항목갯수-1)개가 만들어진다.

profile
중요한 것은 속력이 아니라 방향성

0개의 댓글