본문 바로가기

AI/ASSOCIATE

ASSOCIATE 4.

[ 파이썬 데이터 분석 라이브러리 활용하기 ]

파이썬 대표적 데이터 분석 라이브러리

  • Numpy
    • 수치 데이터 다루는데 활용
    • n차원 행렬 자료 구조np.array 를 사용하여 배열이나 행렬 계산
    • 주로 np 로 별칭 사용 (라이브러리 사용 선언시 import numpy as np 로 선언)
  • Pandas
    • 데이터 배열이나 테이블 형태의 데이터(tabular ata)등의 자료구조 처리
    • 주로 시리즈(series)데이터프레임(dataframe) 구조를 사용
    • (row)과 (column)로 구성된 2차원데이터 테이블
    • 주로 pd 로 별칭 사용 

 

Numpy 사용해보기

파이썬의 리스트나 배열요소에 문자열이 복합적으로 있을 경우 출력에 한해서 전 '문자열' 취급을 한다.

 

그래서 마지막 출력 내용을 보면 1 과 2 는 숫자임에도 불구하고 ' ' 가 적용돼서 출력된 것을 볼 수 있다.

np.array파이썬의 리스트를 배열 형식으로 바꿔주는 함수로 겉으로는 크게 차이가 나지 않는다

 

둘은 메모리 구조에서 차이를 볼 수 있다.

 

리스트

  • 연속되지 않은 여러 메모리 공간흩어진 데이터를, 하나의 저장소처럼 다루는 자료 구조

배열

  • 연속된 메모리 공간데이터를 저장하여, 하나의 저장소처럼 다루는 자료 구조

 

 


판다스 사용해보기

시리즈(Series) 생성하기

 

변수명 = pd.Series(data, index=사용하고자하는 인덱스 설정, name=사용하고자하는 시리즈의 이름)

 

데이터프레임(dataframe) 생성하기

  • 데이터 프레임은 시리즈가 여러개 합쳐진 자료형
  • 리스트와 딕셔너리를 통해서도 구현 가능

column 과 리스트가 연결되어 있기 때문에 값들이 세로 방향으로 기입되는 것을 볼 수 있다

 

 

DataFrame 생성시 위처럼 인자의 종류 명시없이 인자만 두 개만 넣을 경우
[[1,2,3], [4,5,6], [7,8,9]], ["a","b","c"]
두 번째 인자는 기본적으로 Row 의 이름 즉, 인덱스로 설정이 된다.

 

만약 ["a","b","c"] 를 column 으로 사용하고 싶다면

이렇게 인자의 종류를 직접 명시해서 전달해주면된다. (columns= , index= )

 

둘 다 기입하고 싶을 땐 데이터를 입력하는 첫 번째 인자를 제외하곤 다음과 같이 '무조건 명시'를 해서 전달해야 된다

참고로 명시적으로 인자를 전달할 때는 입력 순서는 신경쓰지 않아도 된다.


[ 데이터 불러오기 ]

데이터 불러오기 전 kaggle 연결하기

 

  • json 파일 받은 후 경로 설정
  • kaggle token 에 json 내용 복붙
  • json 파일 열기
  • 데이터 셋 리스트 확인

데이터셋 내려받기

  • 원하는 데이터셋 다운
  • 다운받은 데이터셋 압축 해제
  • 데이터 프레임으로 가져온 후 내용 확인

 

crosstab 을 사용해보기

 

crosstab범주형 데이터 2개를 비교 분석할 때 사용

 

위의 예시는 범주형 데이터인 source_city 컬럼을 인덱스로 사용하여 도착 시간별 비행편이얼마나 있는지 알 수 있음


[ 데이터 저장하기 ]

데이터프레임 만들기

간단한 데이터 프레임을 만든 후 to_csv() 를 통해 데이터프레임을 csv 파일로 저장가능

저장이 제대로 되었다면, 당연하게도 read_csv() 를 통해 다시 불러 올 수 있는 것을 확인할 수 있음

 

 

read_csv 과정에서 인자를 통해 원하는 컬럼만 가져와서 활용하기

index_col 은 사용하고자 하는 데이터 프레임에서 index 로 사용할 컬럼을 설정하는 것이다.

usecols
에는 반드시 index_col 로 설정한 컬럼을 포함시켜야한다

 

컬럼을 포함시켜야 데이터를 가져올 때 해당 컬럼을 인덱스 쪽으로 빼서 사용할 수 있기 때문이다.

 

 

'AI > ASSOCIATE' 카테고리의 다른 글

ASSOCIATE 5.  (2) 2025.07.03
ASSOCIATE 3.  (0) 2025.04.18
ASSOCIATE 2.  (0) 2025.04.18
ASSOCIATE 1.  (0) 2025.04.18