Today I Learned

240124 / 데이터 분석 부트캠프 26일차 (내일배움캠프 Data_1기)

sance 2024. 1. 24. 20:33

♣ 이번주 목표 : 데이터 분석 입문 - 통계학 기초, 데이터 전처리 및 시각화

  • SQL 코드카타 51-60번 풀이 복습 (Oracle)
  • '데이터 전처리&시각화' 강의 수강

오늘은 데이터 전처리와 시각화를 직접 해보는 시간을 가졌다.

지금까지 학습을 진행하면서 한 번쯤은 접해본 것들이라서 크게 어려운 부분은 없었다.

통계학을 듣고나서 들으니까 오히려 쉬운 것 같기도 하다 ㅎ

내일은 데이터 분석 개인과제를 진행할 예정이다.

 

SQL

  • CONCAT 함수
    • MySQL : 3개 이상의 문자열도 하나의 함수로 연결 가능
    • Oracle : 3개 이상의 문자열을 연결하려면 함수 중복해야 하므로 || 연산자 사용
      ex) CONCAT(CONCAT(column1, column2), column3)
  • LEFT, RIGHT 함수
    • Oracle 제공 X

[강의] 데이터 전처리&시각화

 

  • 데이터 선택하기
.iloc .loc
정수 기반 인덱스 사용 레이블 기반 인덱스 사용
df.iloc[1:3] #인덱스 1부터 2까지 선택 df.iloc['a':'c'] #인덱스 a부터 c까지 선택

 

  • 특정 조건을 만족하는 데이터 선택
    • isin() 메소드 : Series나 DataFrame의 값들 중에서 특정 값이나 리스트 안에 포함된 값들을 찾아내는 메소드
#단일 값 포함 여부 확인
result = df['B'].isin(['banana'])
#여러 값 포함 여부 확인
result = df['A'].isin([2, 4])
#여러 열에 대해 조건을 확인하여 필터링
result = df.isin({'A': [1, 3], 'B': ['apple', 'orange']})
  • 데이터 병합
    • concat()
      • 데이터프레임을 위아래 혹은 좌우로 연결
      • axis : 연결하고자 하는 축(방향) 설정, 기본값은 0으로 위아래 연결, 1로 설정하면 좌우 연결
      • ex) result_vertical = pd.concat([df1, df2], axis=0) #위아래로 연결
              result_horizontal = pd.concat([df1, df2], axis=1) #좌우로 연결
    • merge()
      • SQL의 JOIN과 유사한 방식으로 데이터 병합
      • 주로 두 개 이상의 데이터프레임에서 공통된 열이나 인덱스를 기준으로 병합할 때 활용
      • how : 병합 방법을 나타내는 매개변수로 inner, outer, left, right 등의 옵션 존재
      • on : 병합 기준이 되는 열 이름(혹은 열 이름의 리스트) 지정
      • ex) merged_df = pd.merge(left_df, right_df, on='key', how='inner')