내일배움캠프(QA,QC_5기)

[내일배움캠프] QA/QC_5기 ( 14일차 )

lshxkwh 2026. 3. 26. 20:28

 


[ 데이터 전처리 & 시각화 ] ( 3주차 강의 )

[ Chapter 3 -1 ] Pandas 알아보기

더보기
  1. Pandas 라이브 러리 불러오기
    - import pandas as pd # pandas 라이브러리를 불러올 것이며 이제부터 pandas를 pd라고 부를게 !
  2. 데이터 불러오기
    1. 엑셀 데이터 불러오기
      - # pd.read_excel('파일경로/파일명.확장자')

    2. csv 파일 불러오기
      - pd.read_csv('./파일명.xlsx')
  3. 데이터 저장하기
    - pd.to_csv("파일경로" , index = True or False)
    - pd.to_excel("파일경로" , index = True or False)
    # index(인덱스) : 데이터 프레임 또는 시리즈의 각 행 또는 요소에 대한 식별자
    1. df = pd.DataFrame({
      'a' : [1,2,3],
      'b' : ['A','B','C']
      },index = ['idx1','idx2','idx3'])
      df

[ Chapter 3 -2 ] 데이터 전처리 - 컬럼 

더보기
  1. 컬럼이란 ?
    - 데이터 프레임( DataFrame )의 열을 나타낸다 < 데이터 프레임의 세로 방향에 있는 데이터 >
    1. 예시
      import pandas as pd
      # 데이터프레임 생성
      data = {
       '이름': ['Alice', 'Bob', 'Charlie'],
       '나이': [25, 30, 35],
       '성별': ['여', '남', '남']
      }
      df = pd.DataFrame(data)
      # 각 컬럼 출력
      print(df['이름']) # '이름' 컬럼 출력
      print(df['나이']) # '나이' 컬럼 출력
      print(df['성별']) # '성별' 컬럼 출력
      즉, df[' '] : ' ' 이라는 컬럼의 값들을 출력한다
  2. 컬럼 확인하기
    - df.column
  3. 컬럼 추가하기
    - df['스포츠'] = '축구'

  4. 컬럼 삭제하기
    - del df['스포츠']

 

[ Chapter 3 -3 ]  데이터 전처리 - 데이터 확인 

더보기
  1. 데이터 확인 방법
    1. .head()
      - 데이터를 기본 5개의 행까지 보여줍니다.

    2. .info()
      - 데이터의 정보를 파악합니다.  (인덱스, 컬럼명, 컬럼의 데이터 개수, 데이터 타입)

    3. .describe()
      - 데이터의 기초 통계량을 확인합니다.  (개수, 평균, 표준편차, 사분위, 중앙값)
  2. 결측치 확인
    # 결측치 확인 : isnull() or isna()
    df.isnull().sum() # 이렇게하면 결측치가 몇개있는지도 알 수 있어요 !
    # 결측치 제거 : dropna()
    df.dropna()
  3. 데이터 타입 확인
    - df[' '].dtype
    - df[' '].astype() : 타입 변경

[ Chapter 3 - 4 ]  데이터 전처리 - 데이터 선택

더보기
  1. iloc() & loc() 를 알아보자
    1. iloc() : 정수 기반의 인덱스 사용
      - 인덱스 번호로 선택하기 
        :import pandas as pd
      # 샘플 데이터프레임 생성
      data = {
      'A': [1, 2, 3, 4, 5],
       'B': [10, 20, 30, 40, 50],
       'C': [100, 200, 300, 400, 500]
      }
      df = pd.DataFrame(data)
      # iloc을 사용하여 특정 행과 열 선택
      selected_data = df.iloc[1:4, 0:2] # 인덱스 1부터 3까지의 행과 0부터 1까지의 열
      print(selected_data)
       

    2. loc() : 레이블 기반의 인데스 를 사용 한다.
      - 이름으로 선택하기
      import pandas as pd
      # 샘플 데이터프레임 생성
      data = {
       'A': [1, 2, 3, 4, 5],
       'B': [10, 20, 30, 40, 50],
       'C': [100, 200, 300, 400, 500]
      }
      df = pd.DataFrame(data, index=['a', 'b', 'c', 'd', 'e'])
      # loc을 사용하여 특정 행과 열 선택
      selected_data = df.loc['b':'d', 'A':'B'] # 레이블 'b'부터 'd'까지의 행과 'A'부
      print(selected_data)

[ Chapter 3 - 5 ]  데이터 전처리 - 불리언 인덱싱

더보기
  1. boolean indexing이란?
    - 조건을 이용하여 데이터 프레임에서 특정 조건을 만족하는 행을 선택하는 방법
    - 데이터를 필터링 하거나 원하는 조건을 만족할 수 있는 행을 추출 할 수 있음
    1. 단일 조건으로 필터링 
      : df[df['age'] > 30]
    2.  여러 조건으로 필터링
      : df[(df['age'] > 30) & (df['gender'] =='male')]
    3. 조건에 따른 특정 컬럼 필터링
      :df.loc[df['age'] >= 30 ,'name']

[ Chapter 3 - 6 ]  데이터 전처리 - 데이터 병합

더보기
  1. concat() 
    : 좌우 & 위아래 데이터 프레임을 연결할 수 있다
    1. axis : 연결하고자 하는 축을 지정한다 ( 0 : 위아래 , 1 : 좌우 )
    2. ignore_index :  기본값은 False이다

      import pandas as pd
      # 두 개의 데이터프레임 생성
      df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'], 'B': ['B0', 'B1', 'B2']})
      df2 = pd.DataFrame({'A': ['A3', 'A4', 'A5'], 'B': ['B3', 'B4', 'B5']})
      # 위아래로 데이터프레임 연결
      result_vertical = pd.concat([df1, df2], axis=0)
      # 좌우로 데이터프레임 연결
      result_horizontal = pd.concat([df1, df2], axis=1)
      print("위아래 연결 결과:\n", result_vertical)
      print("\n좌우 연결 결과:\n", result_horizontal)
  2. merge()
    1. left / right 
    2. how [ inner , outer , left , right ] 
      1. inner : 공통된 키 를 교집합으로 만든다
      2. outer : 공통된 키를 기준으로 합집합을 만든다
      3. left : 왼쪽 데이터 프레임의 모든 행을 포함하고 오른쪽 데이터 프레임은 공통된 키에 해동하는 행 만 포함한다.
      4. right : 오른쪽 데이터 프레임의 모든 행을 포함하고 왼쪽 데이터 프레임은 공통된 키에 해당하는 행만 포함한다.

 

 

[ Chapter 3 - 7 ]  데이터 전처리 - 데이터 집계

더보기
  1. groupby()
    : 데이터프레임을 그룹화 하고, 그룹 단위로 데이터를 분할 , 적용 , 결합 하는 기능을 제공
  2. Pivot Table()
    : 데이터 프레임에서 피벗 테이블을 생성하는데 사용된다.
    :데이터를 재구성하여 요약, 집계된 정보를 보여주는 테이블 형태

[ Chapter 3 - 8 ]  데이터 전처리 - 데이터 정렬

더보기
  1.  데이터 정렬하기
    1. sort_values() : 컬럼 기준으로 정렬
      import pandas as pd
      # 샘플 데이터프레임 생성
      data = {
       'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
       'Age': [25, 22, 30, 18, 27],
       'Score': [85, 90, 75, 80, 95]
      }
      df = pd.DataFrame(data)
      # 정렬
      sorted_by_score = df.sort_values('Score') # 'Score' 열을 기준으로 오름차
      sorted_by_score = df.sort_values('Score',ascending=False) # 'Score' 열
      print(sorted_by_score)

          2. sort_index() : 인덱스 기준으로 정렬
         

import pandas as pd
# 샘플 데이터프레임 생성
data = {
'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
 'Age': [25, 22, 30, 18, 27],
 'Score': [85, 90, 75, 80, 95]
}
df = pd.DataFrame(data)
# 정렬
sorted_by_index = df.sort_index() # 인덱스를 기준으로 오름차순 정렬
sorted_by_index = df.sort_index(ascending=False) # 인덱스를 기준으로 내
print(sorted_by_index)

[ 아티클 스터디 ]

  • 주제 : 데이터 시각는 왜 중요할까?

데이터 시각화 101: 1 데이터 시각화는 왜 중요할까? | 요즘IT

 

데이터 시각화 101: 1 데이터 시각화는 왜 중요할까? | 요즘IT

데이터의 양이 늘어나고 복잡해질 수록 데이터를 좀 더 쉽게 이해하고 인사이트를 발견하는 것의 필요성이 높아지고 있는데요. 데이터 시각화란 말 그대로 데이터에서 발견한 정보를 시각적으

yozm.wishket.com

  • 요약 : 데이터양이 방대해지고 복잡해지는 현대 사회에서 , 단순히 숫자와 텍스트로 이루어진 데이터를 넘어 데이터 시각화가 왜 필수적인지 다루고있다. 시각화는 정보를 직관적으로 전달하여 전문지식이 없는 사람도 데이터를 쉽게 이해하며, 빠른 인사이트 발견을 통해 효율적인 의사결정을 돕는 강력한 도구이다.
  • 주요 포인트
    • 시각 정보의 압도적인 처리속도 : 인간의 감각 중 시각은 가장 많은 정보를 처리하며, 그래픽 정보는 텍스트보다 약 6만배 빠르게 뇌에 전달된다
    • 아하 모먼트 창출 : 복잡한 데이터 테이블에서 보이지 않던 패턴, 트랜드를 시각화를 통해 발견할 수 있다
    • 의사 결정의 효율성 제고
      • 많은 양의 데이터를 한눈에 파악해 그림을 기려준다
      • 데이터 간의 관계와 상관관계를 명확히 보여준다
      • 흥미로운 디자인으로 정보에 대한 집중도를 높인다
  • 핵심 개념
    • 데이터 리터러시 : 데이터를 읽고 , 이해하고 분석하여 소통하는 능력이고, 시각화는 이 리터러시를 높여주는 핵심 수단이다
    • 시각정 매핑 : 수치나 카테고리 같은 데이터를 점,선,면,색상 등 시각적 요소로 변환하는 과정이다.
    • 인사이트 도출 : 데이터 속에 숨겨진 의미나 가치 있는 정보를 찾아내는 과정이다.
  • 용어 정리
    • 데이터 시각화 : 데이터 분석결과를 쉽게 이해할 수 있도록 시각적으로 표현하고 전달하는 과정이다
    • 아웃라이어 : 데이터의 전체적인 패턴에서 크게 벗어난 값으로 , 시각화를 통해 가장 먼저 발견되는 중요한 정보 중 하나이다.
    • 인포그래픽 : 정보와 그래픽의 합성어로, 복잡한 정보나 데이터를 쉽고 빠르게 이해할 수있도록 시각화한 디자인의 결과물
    • 대시보드 : 여러 시각화 차트를 한 화면에 모아 실시간으로 데이터를 모니터링 하고 분석 할 수있게 만든 도구