Data Science
[DSSchool_Level3] 판다스 실습
고양이의시간
2019. 10. 30. 18:07
Pandas
데이터 분석을 위한 라이브러리
https://pandas.pydata.org/pandas-docs/stable/getting_started/10min.html
10 minutes to pandas — pandas 0.25.2 documentation
10 minutes to pandas This is a short introduction to pandas, geared mainly for new users. You can see more complex recipes in the Cookbook. Customarily, we import as follows: In [1]: import numpy as np In [2]: import pandas as pd Object creation See the Da
pandas.pydata.org
판다스는 엑셀에 비해
대용량 데이터에 최적화.
대쉬보드를 만들어 분석결과를 볼 수 있는 등, 다양한 방식으로 사용가능.
판다스 실습
# 판다스 패키지 가져오기
import pandas as pd
# 원격로딩
data = pd.read_csv(file_url, index_col = "회차")
# 컬럼확인
data.columns
# 평균, 최소, 최대값
data["몸무게"].mean()
data["몸무게"].min()
data["몸무게"].max()
# 컬럼에 대한 평균, 최소, 최대값 등의 연산값들을 한번에 보여줌
data["몸무게"].discribe()
# 컬럼 데이터에 들어있는 특정값을 다른값으로 변경
data["컬럼명"] = data["컬럼명"].replace("이거를", "요거로변경")
# null 값 채우기
data["컬럼명"] = data["컬럼명"].fillna(채울값)
# 년월일 인자로 뽑아내기
data["날짜컬럼명"] = pd.to_datetime(data["날짜컬럼명"])
data["날짜컬럼명"].dt.year
# 특정컬럼의 값 보기
data["컬럼명"]
data[["컬럼명1", "컬럼명2"]]
# row 값 보기
data.loc[인덱스]
data.loc[[인덱스1,인덱스2,인덱스3]]
data.loc[1:7] #1~7 까지
# 로우, 컬럼 동시에 보기
data.loc[인덱스]["컬럼명"] #비권장. [] 열고닫음이 실행의 기준이기에 느림
data.loc[인덱스, "컬럼명"] #권장.
data[[인덱스1, 인덱스2], ["컬럼명1", "컬럼명2", "컬럼명3"]]
data[1:7, ["컬럼1","컬럼2"]]
# 색인
data[data["담당"] == "이철수"]
data[data["담당"].isin(["이름1", "이름2"])]
data[data["담당"].str.contains("김")] #담당컬럼에서 "김"이 들어가는 것만
data[data["담당"].isnull()] #담당이 비어있는 것만
data[data["담당"].notnull()] #담당이 비어있지 않은것만
# and 조건 &
# or 조건 |
data[ (data["몸무게"] > 60 ) & (data["담당"] == "이철수") ]
# 새컬럼 추가, 컬럼의 값 수정
data["지역"] = "서울"
# 특정컬럼에 값 추가, 수정시 데이터 갯수만 맞으면 됨
data["지점"] = ["지점1", "지점2", "지점3"]
# Pivot table: 세로-index, 가로-values
pd.pivot_table(data, index="담당", values="몸무게")
# 누적치 계산 - 평균, 합
pd.pivot_table(data, index=["지점","담당"], values="몸무게", aggfunc=['mean', 'sum'])
# 컬럼 삭제
data = data.drop("몸무게", axis="columns")