본문 바로가기
Data_Analysis/Numpy, Pandas

[Pandas] DataFrame 함수 (컬럼명 변경, 컬럼 추가/삭제/정렬)

by Classic! 2020. 7. 21.

[DataFrame 관련 함수]

1) 컬럼명 변경 - columns, rename

2) 컬럼추가

3) 삭제 - drop(), del

4) 정렬 - sort_values(), sort_index()


1) 컬럼명 변경

data2={'name':["James","Beth","Camila","Elsa"],
       'adderss':["NY1","NY1","NY2","NY1"],
        'age':[12,45,23,16]
      }

# 원래 컬럼명 : ["NY1","NY1","NY2","NY1"]
df2=DataFrame(np.random.randint(10,100,16).reshape(4,4),index=data2['name'],columns=data2['adderss'])
df2

 

 

1-1) columns : 전체 컬럼의 이름을 변경

#address를 ["NY1","NY1","NY2","NY2","NY1"] >>> ["NY","London","Paris","Rome"]로 변경
df2.columns=["NY","London","Paris","Rome"]
df2

1-2) rename() : 일부 컬럼의 이름을 변경

# raname으로 부분적 변경
df2.rename(columns={'NY':'NewYork'},inplace=True)
df2

 

 

2) 행/열 추가

# NaN으로 값을 채운 컬럼 추가
df2["ph_num"]=np.NaN
df2

 

# NaN으로 값을 채운 Emma행 추가
df2.loc["Emma"]=np.NaN
df2

 

 

3) 삭제

3-1) drop : axis=0을 기본값으로 삭제할 행의 이름을 입력. inplace=True 적용해야 원본에서도 삭제됨.

# drop으로 Emma행 삭제
df2.drop("Emma",inplace=True)
df2

 

3-2) del : 삭제할 컬럼의 이름을 입력. inplace=True 없이도 바로 원본 데이터 삭제. 

del df2["ph_num"]

# drop으로 열 삭제 : drop은 axis=0(행 삭제)이 기본값이라 열을 삭제하려면 axis=1 로 변경 필요.
df2.drop("ph_num",axis=1,inplace=True)
df2

 

 

4) 정렬

4-1) sort_values() : 값을 가지는 컬럼을 기준으로 정렬

- by = "컬럼명" : 정렬의 기준이 되는 컬럼 지정

- ascending = True : 오름차순

- ascending = False : 내림차순

# Paris을 기준으로 내림차순(ascending=False),Rome을 기준으로 오름차순(ascending=True)
# 2개 이상의 열을 기준으로 정렬 가능
df2.sort_values(by=["Paris","Rome"],ascending=[False,True])

 

 

 

4-2) sort_index() : 인덱스를 기준으로 정렬

# 인덱스를 기준으로 정렬.
# ()안에 아무것도 입력하지 않으면 정렬 시 오름차순이 기본값으로 설정됨
df2.sort_index()

'Data_Analysis > Numpy, Pandas' 카테고리의 다른 글

[Pandas] Concat, Merge  (0) 2020.07.21
[Pandas] 결측치 처리  (0) 2020.07.21
[Pandas] DataFrame 함수 - 데이터 조회  (0) 2020.07.21
[Pandas] DataFrame 구조 확인  (0) 2020.07.21
[Pandas] DataFrame 생성  (0) 2020.07.21

댓글