728x90
< 6주차 Python Pandas 활용하기 >
대부분 사용하는 버전은 Pandas 1.5.3임 -> 그러나, 현재 Pandas 2.0 버전이 나옴
=> 1.5에서 2.0 버전으로 바뀌어가는 과도기임.
1. Colab에서 level 0에서 Pandas 따라하기
먼저, 온라인 환경인 Google Colab에서 실습을 해보자. -> 파일로 진행
한글 폰트 이슈 해결하기 - 로컬
# 한글 폰트 이슈 해결하기 - 로컬
import os
import matplotlib.pyplot as plt
# mac
if os.name == "posix":
plt.rc("font", family="AppleGothic")
# window
else:
plt.rc("font", family="Malgun Gothic")
한글 폰트 이슈 해결하기 - 코랩
# 한글 폰트 이슈 해결하기 - 코랩
# 폰트 설치
!sudo apt-get install -y fonts-nanum
!sudo fc-cache -fv
!rm ~/.cache/matplotlib -rf
# 폰트 적용
plt.rc('font', family='NanumBarunGothic')
-> 런타임 재시작 필요
데이터프레임 = 시리즈 n개 이상으로 이루어져 있음
- 특정 부분을 볼 수 있는데, 이 때, 데이터프레임, 시리즈로도 볼 수 있다.
- 수정을 할 수 있다
-> 데이터프레임 특정 한 줄 수정 / 데이터프레임 시리즈 = 동일한 규모에 시리즈
- 조건에 따라 특정 데이터만 조회할 때 시리즈 사용
기술통계 - describe
그냥 describe()를 사용하면, 문자열 행을 제외하고 나오지만,
describe(include='all')을 하면, 모든 행에 대해 기술통계가 나온다.
문자 탐색 - str.contains
# .str.contains 포함 글씨 확인
df['이름'].str.contains('정')
# 출력은 시리즈 형태로 나옴
# 개수 확인
df['이름'].str.contains('정').sum()
# T/F로 이루어진 boolean형 시리즈 또는 배열로 True에 해당하는 값들만 조회할 수 있다.
df[df['이름'].str.contains('정')]
# 정씨 인가? T/F로 이루어진 시리즈 생성
df['이름'].str[0]=='정'
# 검색한 것을 기준으로 특정 열만 확인하려면
df.loc[df['이름'].str[0]=='정', ['이름', '포지션', '신장']]
열(col) / 행(row) 삭제
del df['열이름']
df.drop([index])
- database sql의 drop과 비슷
- 파이썬 list index(숫자로만 이뤄진 것이 아닌) database index로 생각(숫자가 아니여도 되는)
- 비파괴적 -> 원본에 저장 필요
피봇테이블(pivot table)
: 엑셀과 동일!
# '신장'을 index로 지정한 pivot_df 생성하기
# aggfunc : 집계함수(aggregate function)
# aggfunc=np.sum, aggfunc=sum, aggfunc='sum'도 모두 되긴 한다.
pivot_df = pd.pivot_table(df, index='신장', aggfunc=np.mean)
# pivot_df = pd.pivot_table(df, index='신장', aggfunc='mean')
pivot_df
-> 평균을 계산할 수 없는 행도 있으므로 경고 문자 발생
-> valuse 지정!
pivot_df = pd.pivot_table(df, index='신장', values = ['3점슛', '골밑슛'], aggfunc=np.mean)
pivot_df.head(round(2))
얕은 복사 / 깊은 복사
# 1. 얕은 복사
pivot_df_shallow = pivot_df
# 2. 깊은 복사
pivot_df_copy = pivot_df.copy()
얕은 복사는 변경이 일어나면 원본도 변경됨 - 메모리 주소 공유, 사실상 변수명만 다른 것
아나콘다(Anaconda)
: 파이썬, 데이터 분석 등을 위한 필수 라이브러리가 설치되어있음
<마크다운>
# 대제목
## 중제목
### 소제목
728x90
'STUDY > DevCourse' 카테고리의 다른 글
[데브코스][데이터 분석] 통계적 분석 기초 (1) - 확률, 확률분포 (0) | 2024.04.01 |
---|---|
[데브코스][데이터 분석] 데이터 분석 들어가기 (0) | 2024.04.01 |
[데브코스][데이터 분석] SQL 심화 (JOIN) (0) | 2024.03.22 |
[데브코스][데이터 분석] SQL 심화 (GROUP BY와 CTAS) (0) | 2024.03.21 |
[데브코스][데이터 분석] SQL 심화 (SELECT 배우기) (1) | 2024.03.21 |