[KT Aivle AI] 6주차. 총복습

hyowon·2024년 4월 2일
0

KtAivle

목록 보기
27/39

0. 개요

주제: 이때까지 배웠던 내용 중 내가 자주 까먹거나 굉장히 자주 사용하는 것들 위주로 코드 정리

1. Pandas기초(1) 중에서

  • 인덱스를 기준으로 정렬하는 방법
  • sort_values() 메서드로 특정 열을 기준으로 정렬

(3) 정렬해서 보기

단일 열 정렬
data.sort_valeus(by = 'MonthyIncome', ascending = False)

복합 열 정렬
data.sort_values(by=['JobSatisfaction', 'MonthlyIncome'], ascending=[True, False])

(4) 기본 집계(굉장히 중요!!)

1) 고윳값과 개수 확인

  • value_counts() 메소드로 고유값과 그 개수를 확인하며, 결괏값은 시리즈 형태가 됩니다.

MaritalStatus 열 고유값 개수 확인
print(data['MaritalStatus'].value_counts())

빈도수 체크(normalize=True)
data['Activity'].value_counts(normalize=True)

2. Pandas기초2

4. 데이터프레임 집계(진짜 중요!!)

1) 집계하기

  • as_index=True를 설정(기본값)하면 집계 기준이 되는 열이 인덱스 열이 됩니다.

MaritalStatus 별 Age 평균 --> 시리즈
data.groupby('MaritalStatus', as_index=True)['Age'].mean()

  • [['data']].sum()과 같이 하면 열이 여럿이라는 의미여서 결과가 데이터프레임이 됩니다.

MaritalStatus 별 Age 평균 --> 데이터프레임
data.groupby('MaritalStatus', as_index=True)[['Age']].mean()

  • as_index=False를 설정하면 행 번호를 기반으로 한 정수 값이 인덱스로 설정됩니다.

MaritalStatus 별 Age 평균 --> 데이터프레임
data.groupby('MaritalStatus', as_index=False)[['Age']].mean()

2) 여러 열 집계(이것도 굉장히 많이 사용!)

  • 여러 열에 대한 집계를 같이 할 수 있습니다.
  • [ ['feature1', 'feature2'] ].sum() 형태와 같이 집계 대상 열을 리스트로 지정합니다.

data.groupby('MaritalStatus', as_index=False)[['Age','MonthlyIncome']].mean()

  • by=['feature1', 'feature2'] 과 같이 집계 기준 열을 여럿 설정할 수도 있습니다.
    (이거 오늘도 사용함)

'MaritalStatus', 'Gender'별 나머지 열들 평균 조회
data_sum=data.groupby(['MaritalStatus', 'Gender'], as_index=False)[['Age','MonthlyIncome']].mean()

3. 2주차 데이터프레임 결합

3. 결합(merge) - 진짜 엄청 나온다.

대부분 이러한 방식으로 나온다.
pd.merge(df1, df2, on = 'A')

4. 2주차 단변량분석 - 숫자형, 범주형변수

1) 숫자형 변수

히스토그램 -> sns.histplot(x= 'Fare', data = titanic, bins = 20)
Density plot -> sns.kdeplot(titanic['Fare'])
Box plot -> plt.boxplot(temp['Age'])

2) 범주형 변수 -> Bar plot(중요), Pie chart

  • 2-1)범주형 변수는 범주별 빈도수와 비율을 꼭 확인!

범주별 빈도수
titanic['Embarked'].value_counts()

범주별 비율
titanic['Embarked'].value_counts(normalize = True)

  • 2-2)시각화

bar chart

  • seaborn의 countplot
    • plt.bar() 를 이용하려면 먼저 집계한 후 결과 가지고 그래프 그려야
    • countplot은 집계 + bar plot을 한꺼번에 해결

sns.countplot(x = 'Pclass', data = titanic)
plt.grid()
plt.show()

profile
안녕하세요. 꾸준히 기록하는 hyowon입니다.

0개의 댓글