[TIL] Pandas 시작하기
by Holly Yoon
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. 참고자료
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')
'TIL' 카테고리의 다른 글
[TIL] 네이버 종목토론실 스크래핑 (0) | 2023.01.12 |
---|---|
[TIL] 스크랩핑 with Pandas (0) | 2023.01.12 |
[TIL] 파이썬 기초 수업 끝 - (0) | 2023.01.06 |
[TIL] 파이썬 기초 - 클래스, 상속, 상관분석 (0) | 2023.01.05 |
[TIL] 파이썬 기초 (함수/파파고 API) (0) | 2023.01.04 |
블로그의 정보
Study Log by Holly
Holly Yoon