카테고리 없음

[빅데이터] 데이터 프레임 변경

Jasonify97 2023. 9. 11. 00:34

열 이름 변경

# 데이터 프레임 생성
import pandas as pd
df = pd.DataFrame({"a":[1,4,7],"b":[2,5,8], "c":[3,6,9]})

df 생성
df 생성

# 방법1
# column 속성 변경 : 모든 열 이름 변경
df.columns = ["A", "B", "C"]

# 방법2 
# rename메소드 이용 : 지정한 열 이름 변경
df.rename(columns={"a":"A", "b":"B", "c":"C"})

column명 변경 후


열 추가

# 없는 열을 변경하면 그 열이 추가됨
# 맨 마지막 열로 추가되며, 원하는 위치에 열을 추가할 수는 없음
df["hi"] = df["A"] + df["B"]

#지정한 위치에 열 추가
# insert(위치, 컬럼 명, 내용) 메소드를 이용하여 원하는 위치에 열 추가
df.insert(1,"hi", df["A"]+df["B"])


열 삭제 - drop()

# axis=0 : 행삭제(기본값) 
# axis=1 : 열 삭제
# inplace = False : 삭제된 것처럼 보여줌
# inplace = True : 진짜 삭제함
df.drop("A", axis=1, inplace=True)


값 변경

열 전체 값 변경
df["A"] = 0
조건에 의한 값 변경1
# loc[열부분, 행부분]
df.loc[df["B"] > 3, "B"] = 0

조건에 의한 값 변경2
# np.where(조건, 참일때, 거짓일때)
df["A"] = np.where(df["A"] < 5,0,1)

범주형 값을 다른 값으로 변경할때 사용 - map()
tip['sex'] = tip['sex'].map({'Male': 1, 'Female': 0})

Cut() 메소드

pd.cut() 메소드를 사용하여 숫자형 변수를 범주형 범주로 변환할 수 있음
ex) 나이 → 나이대, 고객 구매액 → 구객 등급
#pd.cut(대상 컬럼, 범위, 바꿀 값)
tip['tip_grp'] = pd.cut(tip['tip’], 3, labels=['c', 'd', 'e'] )