반응형
1. 함수 적용
apply를 통해 데이터를 가공할 수 있습니다.
import pandas as pd
df = pd.read_excel('score.xlsx',index_col = '순번')
# 함수 적용, apply
# 키 뒤에 cm 붙이기
def add_cm(height):
return str(height) + 'cm'
df['키'] = df['키'].apply(add_cm)
# add 함수를 호출한 결과 데이터 반영
print(df)
영어로 되어있는 란에 첫 글자는 대문자, 나머지는 소문자로 변환시키는 함수를 적용하겠습니다.
# def capitalize(lang):
# if pd.notnull(lang):
# return lang.capitalize() # 처음 대문자, 나머지 소문자
# return lang
# df['SW특기'] = df['SW특기'].apply(capitalize)
# print(df)
2. 그룹화
동일한 값을 가진 것들끼리 합쳐서 통계 또는 평균 등의 값을 계산하기 위해 사용합니다.
df = df.groupby('학교').get_group('북산고')
print(df)
print(df.groupby('학교').mean()) # 게산 가능한 데이터들의 평균값
print(df.groupby('학교')['키'].mean())
print(df.groupby('학교')[['국어','영어','수학']].mean())
groupby 응용하기!
print(df.groupby('학교').size())# 각 그룹의 크기3/5
df['학년'] = [3,3,2,1,1,3,2,2]
print(df.groupby(['학교','학년']).mean()) #학교별 학년별 평균 데이터
print(df.groupby('학년').mean().sort_values('키')) # 키가 작은 쪽으로
print(df.groupby(['학교','학년']).sum())
print(df.groupby('학교')[['이름','SW특기']].count())# 학교로 그룹화를 한 뒤에 각 학교별 SW 데이터의 수를 가져옴
#Nan 버림
school = df.groupby('학교')
print(school['학년'].value_counts()) # 학교별 그룹화를 한 뒤에 학년별 학생 수
print(school['학년'].value_counts().loc['북산고']) #북산고만 볼래
#학교로 그룹화를 한 뒤에 북산고에서 몇펀지 비율로!!!!
print(school['학년'].value_counts(normalize = True).loc['북산고'])
'파이썬 > 파이썬 데이터 분석, 데이터처리' 카테고리의 다른 글
Pandas) 데이터 분석 8편, 데이터 정렬 및 row, column 데이터 수정 (0) | 2023.01.16 |
---|---|
Pandas) 데이터 분석 7편, 데이터 필터링, and 및 or 등 다양한 조건, nan 처리 (1) | 2023.01.15 |
Pandas) 데이터 분석 6편, loc, iloc의 이해 (0) | 2023.01.15 |
Pandas) 데이터 분석 4편, 데이터 분석, 데이터 파싱, Column 추출 (0) | 2023.01.15 |
Pandas) 데이터 분석 3편, 파이썬으로 만든 데이터를 csv, excel 파일로 저장 및 읽기 (0) | 2023.01.15 |
댓글