Today I Learned

[TIL] Pandas 시작하기

by Holly Yoon

TIL

1. DB저장과 File저장의 차이

  • 데이터베이스에는 주로 실시간으로 관리할 데이터를 저장합니다.
    예) 회원정보, 장바구니 정보, 위시리스트, 게시판, 댓글, 캐릭터 정보, 인벤토리 정보, Status 관리가 필요한 정보
  • 파일로 저장을 할 때는 주로 로그데이터 등을 저장하게 됩니다. 한 시간에 1G이상씩 쌓이는 로그성 데이터라면 보통 파일로 저장하는 편입니다.
    예) 어떤 페이지를 누가 언제 방문했었는지, 게임에서 서버에 접속해서 어떤 액션을 취했는지 작은 액션 단위로 로그를 저장하고자 할 때

2. SQL과 파이썬의 용도 차이

  • SQL은 관계형 데이터베이스를 다루는데 특화된 언어이다.
  • 파이썬은 다양한 목적에 사용되는 프로그래밍 언어로, 데이터 정제/시각화/ML등 다양한 용도에 활용할 수 있는 라이브러리를 제공한다.

3. ETL과 ELT

  • 변환 부분에서 ETL(데이터 웨어하우스), ELT(데이터 레이크) 두 파이프라인의 필요성 증폭되었다.
  • 빅데이터에서 가장 많은 시간이 소비되는 단계는 로드 단계임으로 ELT 쪽이 더 높은 유연성을 제공한다.
  • ETL : Extract -> Transformation -> Loading
    • 데이터 보관인프라의 효율적 사용 
    • 규제 적용+저장하여 보안 이슈 해결
  • ELT : Extract -> Loading -> Transformation
    • 모든 데이터를 가능한 저장한 후 다양한 목적에 따라 원하는 변환을 쉽게 수행할 수 있다.
    • 제약없는 저장공간과 풍부한 컴퓨팅 리소스 필요
    • 다양한 데이터 처리 가능한 기술 발전(hadoop, spark등)

4. 참고자료

  • 비정형 데이터 AI Hub / 정형 데이터 공공데이터 포탈 참고
  • 챌린지 kaggle, DACON
  • 책 <AI 시대 문과생은 이렇게 일합니다> <파이썬으로 데이터 주무르기>

5. 판다스 기초

5.1. DataFrame

#비어있는 데이터 프레임 만들기
df= pd.DataFrame()
#약품명 컬럼명에서 list 넣어보기
df['약품명']=["소화제", "감기약", "비타민", "digestive", "Omega3", "오메가3", "vitamin", "Vitamin"]
#가격 컬럼에는 모두 동일한 값을 넣어보기
df['가격']=3500
#데이터 타입 확인하기
type(df['가격'])

5.2. 데이터 삭제/요약

#컬럼 삭제 axis=0은 행, 1은 컬럼을 의미한다.
df=df.drop(columns='종류', axis=1)
# 데이터 프레임의 정보를 본다.
df.info()
# 데이터 프레임의 크기를 출력한다.
df.shape
# 데이터의 타입만 본다.
df.dtypes
  • df.describe() : 저장된 데이터의 기술통계 요약을 출력해주는 함수 
  • 수치형 데이터 : 개수, 평균, 표준편차, 최대값, 최소값, 25%분위수, 중앙값 을 출력
  • 범주형 데이터 : count, unique, top, freq 값 출력됨

5.3. 데이터 가져오기

#2개 이상의 컬럼명 가져오기 - 리스트 자료형을 사용한다.
df[['약품명','가격']]
#열 이름 혹은 순서로 가져오기 df.loc()
df.loc[0]
df.loc[[0,1,2],['약품명','가격']]
#index기준으로 가져오기 df.iloc()
df.iloc[:5,:2]

5.4. 특정 데이터만 가져오기

#대소문자 구분을 없애자 str.lower()
df['약품명소문자']=df['약품명'].str.lower()
#비타 혹은 vita(VITA)를 포함한 열을 찾자 str.contains()
df[df['약품명소문자'].str.contains('비타|vita')]
#특정 기준으로 정렬하자 sort_values()
df = df.sort_values(by=['약품명', '가격'], ascending=[False, True])
  • str.lower()
  • str.contains()
  • sort_values()

5.5. csv파일로 저장하기

# to_csv 를 통해 csv 파일로 저장한다.
df.to_csv('pandas_example.csv', index=False) 
# 저장된 csv 파일을 읽어온다.
pd.read_csv('pandas_example.csv')

블로그의 정보

Study Log by Holly

Holly Yoon

활동하기