[私もコードします]データ分析と可視化-Pandas 6
18240 ワード
13.関数の適用
13-1. 関数をデータに適用(適用)
14.グループ化
:統計値の計算
import pandas as pd
df = pd.read_excel('score3.xlsx', index_col = '지원번호')
df

df['학교'] = df['학교'] + '등학교'
df

df['키'] = df['키'] +'cm'
df
# 에러남 = 정수 + 문자열
>>> Error
# for문 사용 방법
list = []
for i in df['키']:
#print(str(i)+'cm')
list.append(str(i)+'cm')
df['키'] = list
df

13-1. 関数をデータに適用(適用)
# 키 뒤에 cm을 붙이는 역할
def add_cm(height):
return str(height)+'cm'
df['키'] = df['키'].apply(add_cm)
# 키 데이터에 대해서 add_cm함수를 호출한 결과데이터를 반영
df

#첫번째 글자만 대문자로 바꾸는 함수
def capitalize(lang):
if pd.notnull(lang): #NaN이 아닌지
return lang.capitalize() # 첫글자는 대문자로, 나머지는 소문자로
return lang
df['SW특기'] = df['SW특기'].apply(capitalize)
df

# 함수 제공해주는거라 그냥 쓰는게 편하긴함
df['SW특기'].str.capitalize()

14.グループ化
:統計値の計算
import pandas as pd
df = pd.read_excel('score3.xlsx', index_col = '지원번호')
df

df.groupby('학교')
>>> <pandas.core.groupby.generic.DataFrameGroupBy object at 0x000001D14E5B8520>
df.groupby('학교').get_group('북산고')

df.groupby('학교').get_group('능남고')

df.groupby('학교').mean() # 계산가능한 데이터들의 평균값

df.groupby('학교').size() # 각 그룹의 크기

df.groupby('학교').size()['능남고']
# 학교로 그룹화를 한 뒤에 능남고에 해당하는 데이터의 수
>>> 3
df.groupby('학교')['키'].mean()
# 학교로 그룹화를 한 뒤에 키의 평균 데이터

df.groupby('학교')[['국어', '영어', '수학']].mean()
# 학교로 그룹화를 한 뒤에 국어, 영어, 수학, 평균데이터

# 학년 추가
df['학년'] = [3,3,2,1,1,3,2,2] #학년 Column 추가
df

df.groupby(['학교', '학년']).mean()
# 학교별 학년별 평균 데이터

df.groupby('학년').mean()
#학년별 평균 데이터

df.groupby('학년').mean().sort_values('키')
# 학년으로 그룹를 짓고 키를 기준으로 오름차순 정리

df.groupby(['학교', '학년']).sum()

df.groupby('학교')[['이름', 'SW특기']].count()
#학교로 그룹화를 한 뒤에 각 학교별 SW특기 데이터의 수를 가져옴

school = df.groupby('학교')
school['학년'].value_counts()
# 학교로 그룹화를 한 뒤에 학년별 학생 수를 가져옴

school['학년'].value_counts().loc['북산고']
#학년별 그룹화를 한 뒤에 북산고에 대해서 학년별 학생 수를 가져옴

school['학년'].value_counts().loc['능남고']
#학년별 그룹화를 한 뒤에 능남고에 대해서 학년별 학생 수를 가져옴

school['학년'].value_counts(normalize=True).loc['북산고']
# 학생들의 수 데이터를 퍼센트로 비교하여 가져옴

Reference
この問題について([私もコードします]データ分析と可視化-Pandas 6), 我々は、より多くの情報をここで見つけました https://velog.io/@ssjy89/나도코딩-데이터-분석-및-시각화-Pandas6テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol