일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- LLM
- temurin
- WSL
- API
- 파인튜닝
- Linux
- DALL-E
- Python
- 웨크롤링
- ssh
- chatGPT
- 레시피
- 티스토리챌린지
- Recipe
- java17
- 웹크롤링
- OpenAI
- Java
- jdk
- Windows
- bs4
- brew
- 포트포워딩
- 오블완
- AI
- 쳇지피티
- web crowling
- Llama
- JSON
- PROJECT
- Today
- Total
Nacho
Chapter 08. Python Pandas 기초(2) 본문
자 pandas 를 복습해보자.(2)
공부한 내용을 다 적어 올리고 싶은데 데이터프레임 옮겨오는 게 쉬운 일이 아니다..
# 라이브러리 불러오기
import pandas as pd # 시작은 언제나 아묻따 import 갈겨버리깅
pd.DataFrame.groupby()
데이터프레임을 다루면서 가장 헷갈리는 부분이 아닐까 싶다.
빅분기 1과목 공부하면서 가장 나를 힘들게 했던 녀석...
pandas 공식문서에 따르면 pd.DataFrame.groupby() 와 pd.Series.groupby()가 나뉘어 있다.
https://pandas.pydata.org/docs/reference/groupby.html 자세한 건 여기로...
# 데이터 읽어오기
df = pd.read_csv('https://raw.githubusercontent.com/DA4BAM/dataset/master/airquality.csv')
# 상위 5개 확인
df.head()
우선 데이터부터 가져오자.
- Ozone : 오존농도
- Solar.R: 태양복사열
- Wind: 풍속
- Temp: 기온
- Month: 월
- Day: 일
df.groupby().count()
특정 columns 을 기준으로 나머지 columns 의 값을 확인할 수 있다.
.size() 데이터 개수
.mean() 평균
.count() 개수
.max() 최댓값
.min() 최솟값
.std() 표준편차
.median() 중앙값
df.groupby('Month')[['Ozone', 'Wind', 'Temp']].count()
월 별 오존농도, 풍속, 기온의 데이터 수를 확인한다.
df.groupby('Month')[['Ozone', 'Wind', 'Temp']].mean()
월 별 오존농도, 풍속, 기온의 데이터의 평균을 확인한다.
groupby()를 사용하면 자동으로 기준데이터가 index으로 사용되는 as_index값이 True로 지정 된다.
df.groupby('Month',as_index=False)[['Ozone', 'Wind', 'Temp']].count()
선호하는 방식을 사용하자.
df.groupby(['Month','Day'],as_index=False)[['Ozone', 'Wind', 'Temp']].max()\
.sort_values(by='Ozone',ascending=False)
sort_values() 등 함수 사용도 가능하다.
df.groupby().agg([ ])
여러 집계를 한 번에 출력도 가능하다.
df.groupby('Month')[['Ozone', 'Wind', 'Temp']].agg(['max','min','mean','std'])
복습문제
[문2] read_csv() 함수를 사용해 다음 경로의 파일을 불러와 titanic 데이터프레임을 만드세요.
[titanic_simple 데이터 셋 정보]
- PassengerId : 승객번호
- Survived : 생존여부(1:생존, 0:사망)
- Pclass : 객실등급(1:1등급, 2:2등급, 3:3등급)
- Name : 승객이름
- Sex : 성별(male, female)
- Age : 나이
- Fare : 운임($)
- Embarked : 승선지역(Southhampton, Cherbourg, Queenstown)
# 파일 읽어오기
df = pd.read_csv('https://raw.githubusercontent.com/DA4BAM/dataset/master/titanic_simple.csv')
df
[문3] Fare의 중앙값을 확인해 봅시다.
df['Fare'].median()
[문4] 승선지역(Embarked) 별 평균 운임(Fare)을 구해 봅시다.
df.groupby('Embarked',as_index=False)[['Fare']].mean()
[문5] 승선지역(Embarked)별, 성별(Sex)별 평균 운임(Fare)과 평균 나이(Age)를 tmp에 저장하고 조회하시오.
tmp = df.groupby(['Embarked','Sex'],as_index=False)[['Fare','Age']].mean()
tmp
[문6] 객실등급(Pclass)별, 생존여부(Survived)별 나이(Age), 운임(Fare)의 최대, 최소, 평균, 표준편차를 tmp에 저장하고 조회하시오.
df.groupby(['Pclass','Survived'],as_index=False)[['Age','Fare']].agg(['max','min','mean','std'])
'Python' 카테고리의 다른 글
(Python) 평균 추청과 신뢰구간 (모평균 추청, 중심극한정리) (0) | 2024.02.28 |
---|---|
Pandas 데이터프레임 Concat(), Merge() (0) | 2024.02.26 |
Chapter 07. Python Pandas 기초(1) (0) | 2024.02.23 |
Chapter 06. Python Numpy 기초 (0) | 2024.02.23 |
Chapter 04. Python 프로그래밍 & 라이브러리 (0) | 2024.02.22 |