col 조작 및 변경
df['no'] = range(1,len(df)+1) # 학생 번호 추가하기 (1부터 시작하여 1씩 증가)
df['sum'] = df['kor']+df['eng']+df['math'] # sum 추가
df['no'] = df['no']+99 # 학생 번호 수정하기 (100부터 시작하여 1씩 증가)
df.drop(columns=['no','sum'], inplace=True) # 위에서 만든 no, sum 컬럼 삭제하기
#'이름','국어','영어','수학' 로 영어에서 한글로 바꾸기 (단 항목 수 제대로 맞출 것!)
df.columns=['이름','국어','영어','수학']
# 이름-->성명 (특정 컬럼명 바꾸기. 여러개인 경우 dict 여러개 나열)
# Ex) 데이터프레임.rename(columns={'현재컬럼명1':'바꿀컬럼명1','현재컬럼명2':'바꿀컬럼명2',...})
df = df.rename(columns={'이름':'성명'})
row 조작 및 변경
df.append(추가할데이터, ignore_index=True) <- 추가할 데이터는 dict형태. 끝 행에 추가됨. 새 인덱스 생성됨
Ex)
new_value = {'name':'Python','kor':80,'eng':90,'math':100}
df = df.append(new_value, ignore_index=True)
index 지정으로 추가 및 수정하기. (이미 존재하는 것은 수정, 없던 것은 끝에 추가)
df.loc[인덱스]
Ex)
df.loc[30] = ['ccc',60,70,80] # 인덱스 30 이미 있던거를 이렇게 수정
df.loc[34] = ['bbb',80,90,100] # 인덱스 34에 추가 (없던 것이 새로 생성)
df.loc[35] = ['aaa',70,80,90] # 인덱스 35에 추가 (없던 것이 새로 생성)
df.drop(index=[삭제할 리스트], inplace=True) <- 행 삭제하기
Ex)
df.drop(index=[30,34,35], inplace=True) # 위에서 조작한 30,34,35 3개 모두 삭제
*** inplace=True <- 실제로 반영할 지 여부. 생략시 출력용으로만 임시로 반영
인덱스 변경하기: df.index = [인덱스명리스트] <- 단, 리스트 항목 수는 인덱스 수와 동일해야함!
df.index = range(100,3100,100) # 전체 한번에 변경
# 100-->'a', 200-->'b' 로 특정 인덱스만 변경. 개수는 dict형태로 추가.
df.rename(index={100:'a',200:'b'}, inplace=True)
df.rename(index or columns = {dict자료}, inplace=True or False) <- 이 구조에 대해 알아두자!
728x90
반응형
'Programming > Python' 카테고리의 다른 글
[Pandas] Null(결측치) 다루기 (2) | 2023.08.30 |
---|---|
[Pandas] Function application (0) | 2023.08.30 |
[Pandas] 문제풀이 2 (0) | 2023.08.30 |
[Pandas] Matplotlib.pyplot로 그래프 그리기 (기본) (0) | 2023.08.29 |
[Pandas] 문제풀이 1 (0) | 2023.08.29 |