판다스 치트시트 활용하기
- pandas
- dataframe
- series
- sort
- drop
- groupby
- pivot table
- plot
- Pandas 사용하기
수식으로 계산할 수 있고 시각화도 할 수 있는 데이터 분석도구이다. 엑셀로는 힘든 대용량의 데이터를 분석할 수 있다.
import pandas as pd로 라이브러리를 불러온 후 사용한다.
- Pandas 따라해보기
pandas.pydata.org/pandas-docs/version/1.0.0/getting_started/10min.html
pandas.pydata.org/Pandas_Cheat_Sheet.pdf
- 관련 문법 익히기
1) DataFrame : 2차원의 자료구조
2개 이상의 프레임을 가져올 때는 데이터 프레임 형태로 가져와야 한다.
df = pd.DataFrame({
"a" : [4, 5, 6],
"b" : [7, 8, 9],
"c" : [10, 11, 12]
},index = [1, 2, 3])
# 모든 값 출력
df
a, b, c 컬럼을 가진 데이터 프레임 생성
2) Series : 1차원의 자료구조
df["a"]를 입력하면 a 컬럼에 있는 4, 5, 6의 값이 출력된다.
Series 형태가 아닌 Data Frame 형태로 출력하고 싶은 경우 df[["a"]]로 입력한다.
* 차이 (1차원과 2차원 구조)
3) Subset (일부 값만 불러오기)
# df["a", "b"]
# 두 개 이상의 값을 불러올 때 Series 형태로 불러올 경우 키값 오류 발생
df[["a", "b"]]
# DataFrame 형태로 불러와야 한다.
# df의 a의 컬럼 값 중 4보다 큰 값만 가져오겠다
# df["a"] > 4는 Boolean 값
df[df["a"] > 4]
4) Summarize Data : 빈도수
Categorical한 값의 빈도수를 구하기
# a 컬럼에서 6은 1번, 5는 1번, 4는 1번 존재
df["a"].value_counts()
5) Reshaping
# a 컬럼을 정렬하기
df["a"].sort_values()
1 4
2 5
3 6
Name: a, dtype: int64
# a 값을 기준으로 정렬하기
df.sort_values("a")
a b c
1 4 7 10
2 5 8 11
3 6 9 12
# 역순으로 정렬하기
df.sort_values("a", ascending=False)
a b c
3 6 9 12
2 5 8 11
1 4 7 10
# 특정 칼럼 버리기
# axis : 0이면 행을 기준으로 삭제, 1은 열을 기준으로 삭제
# df.drop(["c"], axis=1)만 수행하는 것이 아니라 df에 다시 담아주어야 한다.
df = df.drop(["c"], axis=1)
a b
1 4 7
2 5 8
3 6 9
6) Group Data
# 컬럼의 평균값 구하기 (mean)
# a 컬럼값을 Groupby하여 b의 컬럼값 평균값 구하기
# 만약 a에 4가 2번 존재하고 각각 6, 8이 들어있다면 7이 평균값으로 b에 들어가게 됨
df.groupby(["a"])["b"].mean()
df.groupby(["a"])["b"].agg(["mean", "count", "sum"])
mean count sum
a
4 7 1 7
5 8 1 8
6 9 1 9
# 데이터 요약
df.groupby(["a"])["b"].describe()
count mean std min 25% 50% 75% max
a
4 1.0 7.0 NaN 7.0 7.0 7.0 7.0 7.0
5 1.0 8.0 NaN 8.0 8.0 8.0 8.0 8.0
6 1.0 9.0 NaN 9.0 9.0 9.0 9.0 9.0
a
4 7
5 8
6 9
Name: b, dtype: int64
# 4의 평균, 8의 평균, 9의 평균
pd.pivot_table(df, index="a")
b c
a
4 7 10
5 8 11
6 9 12
# 더한 값을 구하고자 하는 경우
pd.pivot_table(df, index="a", values="b", aggfunc="sum")
b
a
4 7
5 8
6 9
7) Plotting : 시각화(기본적으로 선 그래프)
# 꺾은선 그래프
df.plot()
# 막대 그래프
df.plot.bar()
# 밀도함수
df.plot.density()
'CS > Data Science' 카테고리의 다른 글
[CS] 파이썬으로 시작하는 데이터 사이언스 (5) (0) | 2020.11.09 |
---|---|
[CS] 파이썬으로 시작하는 데이터 사이언스 (4) (0) | 2020.11.09 |
[CS] 파이썬으로 시작하는 데이터 사이언스 (2) (0) | 2020.11.08 |
[CS] 파이썬으로 시작하는 데이터 사이언스 (1) (0) | 2020.11.08 |