10_판다스 데이터 수정

import pandas as pd
df = pd.read_excel('score.xlsx', index_col='지원번호')

Column 수정

  • replace()
df['학교'].replace({'북산고':'상북고', '능남고':'무슨고'})

*) 저장하려면 inplace = True 시행

 

  • lower()
df['SW특기'] = df['SW특기'].str.lower()

  • upper()
df['SW특기'] = df['SW특기'].str.upper()

  • 문자열 추가
df['학교'] = df['학교'] + '등학교'

Column 추가

df['총합'] = df['국어'] + df['영어'] + df['수학'] + df['과학'] + df['사회']

df['결과'] = 'Fail'  # 결과 Column 추가하고 전체 데이터는  Fail

# 총합이 400보다 큰 데이터에 대해서 결과를 Pass로 업데이트
df.loc[df['총합'] > 400, '결과'] = 'Pass'

Column 삭제 : drop

df.drop(columns=['총합'])  # 총합 column 삭제

df.drop(columns=['국어','영어','수학])

Row 삭제 : drop

df.drop(index='4번') # 4번 학생 데이터 row 삭제

filt = df['수학'] < 80 # 수학점수가 80 미만인 학생 필터링
df[filt]

df[filt].index

df.drop(index=df[filt].index)

 

Row 추가

df.loc['9번'] = ['이정환','해남고등학교',184,90,90,90,90,90,'Kotlin', 450, 'Pass']

Cell 수정

df.loc['4번','SW특기'] = 'Python' # 4번 학생의 SW 특기를 Python으로 변경

# 5번 학생의 학교는 능남고등학교, SW 특기는 C로 변경
df.loc['5번', ['학교', 'SW특기']] = ['능남고등학교','C']

Column 순서 변경

cols = list(df.columns)

df = df[['결과','이름','학교']]

# 맨 뒤에 있는 결과 column을 앞으로 가져오고, 나머지 column들과 합쳐서 순서 변경
df = df[[cols[-1]] + cols[0:-1]]

Column 이름 변경

df.columns

df.columns = ['Result', 'Name', 'Scholl']