[AICE Associate] 데이터 획득하기

castor·2025년 3월 27일

AICE Associate

목록 보기
1/8

책: AICE Associate

Chapter 02 데이터 획득하기

Section 01 파이썬 데이터 분석 라이브러리 활용하기

01) 넘파이 이용하기

Numpy

  • 수치 데이터를 다루는데 활용하는 파이썬 라이브러리
  • 데이터 분석할 때 n차원 행렬 자료 구조인 np.array를 사용해 배열이나 행렬 계산 등을 실행
  • np.array -> ndarray
    - 넘파이를 통해 생성되는 n차원 행렬 객체
import numpy as np

a = np.array([1, 2, '대한민국', '포르투갈'])
b = np.array(['가나', '우루과이', '대한민국', '포르투갈'])
c = np.array([1, 2, 3, 4])
d = np.array([[1, 2, '대한민국', '포르투갈'], [1, 2, 3, 4]])

print(a, b, c) # ['1' '2' '대한민국' '포르투갈'] ['가나' '우루과이' '대한민국' '포르투갈'] [1 2 3 4]
print(type(a), a[0], type(a[0])) # <class 'numpy.ndarray'> 1 <class 'numpy.str_'>
print(type(b), b[0], type(b[0])) # <class 'numpy.ndarray'> 가나 <class 'numpy.str_'>
print(type(c), c[0], type(c[0])) # <class 'numpy.ndarray'> 1 <class 'numpy.int32'>
print(type(d), d[1], type(d[1][0])) # <class 'numpy.ndarray'> ['1' '2' '3' '4'] <class 'numpy.str_'>

출력 결과 리스트 형태로 출력되고 타입은 ndarray이며 배열의 원소 타입을 출력했을 때 숫자로만 이루어진 건 숫자로 출력되지만 섞여있거나 문자열로만 이루어진 경우 문자열로 인식하는 것을 확인할 수 있다.

02) 판다스 이용하기
Pandas

  • 데이터 배열이나 테이블 형태의 데이터(tabular data) 등의 자료 구조를 처리하기 위한 라이브러리
  • 자료구조: Series(1차원), DataFrame(2차원)
import pandas as pd

# series 생성
s = pd.Series(['대한민국', '포르투갈', '가나', '우루과이'], index=['가', '나', '다', '라'], name="2022 카타르 월드컵 H조")
print(s)
print(type(s))
# 가    대한민국
# 나    포르투갈
# 다      가나
# 라    우루과이
# Name: 2022 카타르 월드컵 H조, dtype: object
# <class 'pandas.core.series.Series'>
# dataframe 생성

## dictionary
df1 = pd.DataFrame({"a":[1, 2, 3], "b":[4, 5, 6], "c":[7, 8, 9]})
print(df1)
print(type(df1))
#    a  b  c
# 0  1  4  7
# 1  2  5  8
# 2  3  6  9
# <class 'pandas.core.frame.DataFrame'>

## list
df2 = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]], ["a", "b", "c"])
print(df2)
print(type(df2))

#    0  1  2
# a  1  2  3
# b  4  5  6
# c  7  8  9
# <class 'pandas.core.frame.DataFrame'>

실행 결과 행 단위로 생성됨을 알 수 있다.

Section 02 데이터 불러오기

import pandas as pd

df = pd.read_csv("파일 경로", encoding="cp949")
df
import pandas as pd

## 일부 컬럼만 불러오기
df = pd.read_csv("파일 경로", index_col="사용할 인덱스 컬럼", usecols=['사용할 컬럼 리스트'])
df

index_col로 지정한 칼럼은 usecols에 있어야한다.

import pandas as pd

## 교차테이블(범주형 데이터 2개 비교 분석 시 사용) 생성
df = pd.crosstab(index=범주형데이터1, columns=범주형데이터2)
df

Section 03 데이터 저장하기

import pandas as pd

df.to_csv("파일 경로")

0개의 댓글