※제로베이스 데이터 취업스쿨 11기 수강 중
📗 19일차 공부 내용 요약
판다스에 대한 기초적인 내용들을 학습했다.
1. 판다스 데이터 읽기 : pandas를 import하고, 엑셀과 csv 파일을 읽어왔다
2. 판다스 기초 : 판다스의 데이터형을 알아보고, 데이터프레임을 만들어 데이터를 정렬,선택하고 특정 컬럼을 추가,제거하는 등의 실습을 진행하였다
📖 19일차 공부 내용 자세히
1. 엑셀 및 csv 파일 읽기
pandas.read_csv("파일 경로", encoding = "utf-8")
#csv 파일 불러오기, 한글 파일 인코딩
pandas.read_excel("파일경로")
#excel 파일 불러오기
CCTV_Seoul.columns
#칼럼 이름 조회
CCTV_Seoul.columns[n]
#인덱스 n에 해당하는 칼럼 이름 조회
CCTV_Seoul.head()
CCTV_Seoul.head(n)
#상단에 있는 5개의 데이터 조회, 상단에 있는 n개의 데이터 조회
CCTV_Seoul.tail()
CCTV_Seoul.tail(n)
#하단에 있는 5개의 데이터 조회, 하단에 있는 n개의 데이터 조회
CCTV_Seoul.rename(columns={CCTV_Seoul.columns[0] : "구별"}, inplace = True)
#컬럼명 변경
pop_Seoul = pd.read_excel("../data/01. Seoul_Population.xls", header = 2, usecols = "B, D, G, J, N")
#header 자료를 읽기 시작할 행 지정, usecols 읽어올 엑셀의 칼럼 지정
2. 판다스?
- pythn에서 R만큼의 강력한 데이터 핸들링 성능을 제공하는 모듈
- 단일 프로세스에서는 최대 효율
- 코딩 가능하고 응용 가능한 엑셀로 받아들여도 됨
- 누군가 스테로이드를 맞은 엑셀로 표현함
import pandas as pd
import numpy as np
#pandas는 통상 pd로 import하고, numpy는 통상 np로 import한다
3. Series
- Pandas의 데이터형을 구성하는 기본은 Series이다
- index와 value로 이루어져 있다
- 한가지 데이터 타입만 가질 수 있다
pd.Series([1,2,3,4])
'''
0 1
1 2
2 3
3 4
dtype: int64
'''
pd.Series([1,2,3,4], dtype = str)
'''
0 1
1 2
2 3
3 4
dtype: object
'''
4.DataFrame
- pandas에서 가장 많이 사용되는 데이터형은 DataFrame이다
- indes와 columns를 지정하면 된다
#표준정규분포에서 샘플링한 난수 생성
data = np.random.randn(6,4) # 6*4 행렬 생성
df = pd.DataFrame(data, index = dates, columns = ["A", "B", "C", "D"])
5.정보탐색
df.index #인덱스
df.columns #컬럼
df.values #밸류
df.info() #데이터 프레임의 기본 정보 확인
df.descrive() #데이터 프레임의 기술통계 정보 확인
6.데이터 정렬
df.sort_values(by = "B", ascending = True, inplace = True)
#B 컬럼을 기준으로, 오름차순, 바로 저장
7.데이터 선택. 슬라이스
#한 개 컬럼 선택
df["A"]
#두 개 이상 칼럼 선택
df[["A", "B"]]
#슬라이스
#offset index
#[n:m] n부터 m-1까지
#인덱스나 컬럼의 이름으로 하는 경우는 끝까지 포함
df[0:3]
df["20210101":"20210104"]
#loc
#특정 이름으로 특정 행, 열을 선택
df.loc["20210102":"20210104", ["A","D"]]
df.loc["20210102", ["A", "B"]]
#iloc
#컴퓨터가 인식하는 인덱스 값으로 선택
df.iloc[3]
df.iloc[3:5, 0:2]
8.컬럼추가, 제거
#컬럼 추가
df["E"] = ["one", "two", "three", "four", "five", "six"]
#컬럼 제거
del df["E"]
df.drop(["D"], axis = 1) # axis = 0 가로, axis =1 세로 / 기본은 0이다
9.특정요소확인
df["E"].isin(["two", "five"])
10.apply
df["A"].apply("sum") # -1.8596915794725628
df["A"].apply("mean") #-0.30994859657876045
df["A"].apply("min"), df["A"].apply("max") #(-1.5902492328245474, 0.7188164030302282)
df[["A","D"]].apply("sum")
'''
A -1.859692
D 0.053207
dtype: float64
'''
df["A"].apply(np.mean)
'''
2021-01-01 0.718816
2021-01-02 0.123319
2021-01-03 -1.590249
2021-01-04 0.304314
2021-01-05 -1.232608
2021-01-06 -0.183283
Freq: D, Name: A, dtype: float64
'''
df["A"].apply(np.std)
'''
2021-01-01 0.0
2021-01-02 0.0
2021-01-03 0.0
2021-01-04 0.0
2021-01-05 0.0
2021-01-06 0.0
Freq: D, Name: A, dtype: float64
'''
df.apply(np.sum)
'''
A -1.859692
B 0.417206
C -0.357037
D 0.053207
'''
def plusminus(num):
return "plus" if num>0 else "minus"
df["A"].apply(plusminus)
df["A"].apply(lambda num: "plus" if num > 0 else "minus")
'''
2021-01-01 plus
2021-01-02 plus
2021-01-03 minus
2021-01-04 plus
2021-01-05 minus
2021-01-06 minus
Freq: D, Name: A, dtype: object
➰ 19일차 후기
역시 판다스를 처음 활용해보는 것이라 낯설다.
실습 위주로 진행되는 강의라, 개념이 확실하게 와닿지는 않아서 스스로 공부가 필요할 듯 하다.
우선 이번주에 파이썬 프로그래밍 테스트가 있어서, 판다스보다는 기존 학습내용 복습에 좀 더 집중하고 있다.
홀가분하게 테스트가 끝나고, 얼른 판다스 학습에 집중하고 싶은 마음이다,,,
※본 내용은 제로베이스 데이터 취업 스쿨에서 제공하는 학습 내용에 기반합니다.
'제로베이스 데이터 스쿨 > 일일 스터디 노트' 카테고리의 다른 글
21일차 스터디노트 / 판다스 - 데이터 시각화, 데이터 경향 표시, 파이썬 프로그래밍 테스트 (0) | 2023.01.29 |
---|---|
20일차 스터디노트 / 파이썬 판다스 - 데이터 훑어보기, 데이터 합치기, matplotlib 기초 (0) | 2023.01.28 |
18일차 스터디노트 / 파이썬 알고리즘(병합정렬, 재귀, 평균) 연습문제, 미니콘다, vscode, 구글 colab (1) | 2023.01.25 |
17일차 스터디노트 / 파이썬 알고리즘(검색, 순위, 정렬, 최댓값,최솟값,최빈값,근삿값) 연습문제 (0) | 2023.01.24 |
16일차 스터디노트 / 파이썬 알고리즘(선형검색, 이진검색, 순위, 버블정렬, 삽입정렬, 선택정렬, 재귀, 하노이의 탑, 병합정렬, 퀵정렬) (1) | 2023.01.22 |