Pandas는 수식으로 계산할 수도 있고 시각화도 할 수 있는 데이터 분석도구 입니다.
판다스 치스시트는 판다스르르 익히기 위한 모든 정보가 적혀있는 파일이며, 치트시트에 있는 내용을 모두 이해하고 활용할 수 있으면 판다스를 마스터했다고 말할 수도 있습니다.
1. 판다스 불러오기
import pandas as pd
as pd라는 것은 매번 pandas모듈을 사용하기 위해 풀네임으로 불러오기 번거로우니 pd라는 약어로 pandas를 사용하겠다는 의미입니다.
예를들어, pandas.DataFrame이 아닌 pd.DataFrame로 좀 더 간결하게 사용하실 수 있습니다.
일반적으로 파이썬 라이브러리들은 각각의 통용되는 별칭이 있습니다.
앞으로 나오는 것들은 일반적으로 사용되는 별칭이라고 보시면 됩니다.
2. DataFrame
치트시트에 있는 데이터프레임을 그대로 따라해보죠.
df = pd.DataFrame(
{"a" : [4, 5, 6],
"b" : [7, 8, 9],
"c" : [10, 11, 12]},
index = [1, 2, 3])
df
결과를 보면 a,b,c 컬럼을 가진 DataFrame이 생성된 것을 확인할 수 있다.
3. Series
위 프린트문에서 처럼 하나의 대괄호만 사용하면 a 컬럼에 대한 값이 출력되는데, 이 데이터를 Series 데이터라고 부른다.
단, 대괄호를 하나 더 붙이면 Series로 뽑은 데이터를 DataFrame으로 변환해서 출력해준다.
DataFrame은 2차원적인 구조를 가지고, Series는 1차원적인 구조를 가진다.
4. Subset
특정 조건에 의해 일부 값만 가져오는 방법을 의미한다.
이와 같이 조건을 만족하는 특정 데이터만 추출해서 보여줄 수 있다.
5. Summarize Data
Categorical한 값의 빈도수를 구하는 방법. = 특정 컬럼에 해당하는 값들을 카테고리화 시켜서 빈도수를 구한다는 의미.
6. Reshaping
데이터 프레임 조작 및 수정
b 컬럼을 기준으로 정렬. (Series를 데이터프레임화 한 작업이랑 뭐가 다른지 모르겠다)
drop을 통해 필요 없는 컬럼은 삭제할 수 있다.
7. Group Data
a컬럼을 기준으로(groupby) b컬럼의 평균 값을 구한다.
df 테이블이 아래와 같은 상황에서 a b 4 7 5 8 6 9 4 9 'a라는 컬럼으로 groupby한다' -> a컬럼에 있는 4, 5, 6 (4는 두 개 있음) 값을 기준으로 'b라는 컬럼값의 평균 값을 구한다' -> a컬럼 4,5,6에 각각 대응하는 값들의 평균을 구하는 겁니다. 4 ->7, 9 5 -> 8 6 -> 9 그래서 결과값이 아래와 같이 나오게 되겠죠? (마찬가지로 medain(중위수)의 경우도 똑같이 나오게 됩니다) a 4 8.0 <- (7+9)/2 5 8.0 6 9.0 sum의 경우는 아래와 같이 나오게 되구요. a 4 16 5 8 6 9 위와 같이 각각을 구하기 위해 df.groupby(["a"])["b"].mean() 처럼 사용할 수도 있지만, df.groupby(["a"])["b"].agg(["mean", "sum", "count"])로 여러 집계함수 결과를 확인하실 수 있습니다. 마지막으로, 어떤 상황에 groupby가 사용되는지 모르겠다고 하셨는데 위의 예제 테이블로는 와닿지 않으시겠지만, 이후 데이터 분석에서 groupby는 연도별 수명, 연도별 인구수 등 수많은 곳에 사용됩니다. 지금 당장은 어떻게 작동하는 지 이해하시고 앞으로 실습에서 사용될 때 예제를 통해 더 자세히 아셔도 되실 것 같습니다. 또, 그 전에 너무 궁금하다면 아래 참고할만한 블로그 첨부해드리니 링크 들어가셔서 확인해보셔도 될 것 같습니다. (https://ponyozzang.tistory.com/291) |
라는 내용의 친절한 설명이 있으니 참고 바랍니다. 덕분에 이해하기 쉬웠음.
동일한 의미로 pivot_table을 활용하여 b의 평균 구하기.
Plotting: 데이터를 바탕으로 시각화하기
plot(): 꺾은선 그래프 그리기
plot.bar(): 막대 그래프 그리기
plot.density(): 밀도함수 그리기
참고자료:
10 minutes to pandas — pandas 1.0.0 documentation
This is a short introduction to pandas, geared mainly for new users. You can see more complex recipes in the Cookbook. Time series pandas has simple, powerful, and efficient functionality for performing resampling operations during frequency conversion (e.
pandas.pydata.org
'Data Science(w. naver boostcourse)' 카테고리의 다른 글
6. 결측치 다루기 (8) | 2024.10.04 |
---|---|
5. 데이터 미리보기 및 요약하기 (3) | 2024.10.03 |
4. 파일 경로 설정 및 불러오기 (0) | 2024.08.26 |
2. 데이터 분석을 위한 파이썬 기초 (0) | 2024.08.02 |
1. 환경설정 (0) | 2024.08.01 |