06 DataFrame 변경
열 이름 변경 : rename
데이터프레임명.rename(columns=딕셔너리, inplace=여부)
데이터프레임명.rename(columns={'기존 컬럼명': '바뀔 컬럼명', ...}, inplace=여부)
inplace=True
: 원본 데이터를 변경하겠다.
inplace=Flase
: 원본 데이터는 변경하지 않고 조회하겠다.
열 추가 : 할당하기
데이터프레임명['추가할 컬럼명'] = 추가할 컬럼의 시리즈
- 없는 컬럼명에 추가할 컬럼의 시리즈를 할당하면 그 열이 추가된다.
- 하지만 있는 컬럼명에 할당한다면 추가는 되지 않고 변경된다.
- 맨 뒤 열로 추가된다. 원하는 위치로 열을 추가하려면
insert()
메소드를 사용하면 되지만 권장되지 않는다.
열 삭제하기 : drop
데이터프레임명.drop('삭제할 컬럼명', axis=방향, inplace=여부)
- 원본 데이터를 보존하기 위해 보통
data2 = data.copy()
와 같이 깊은 복사 후 삭제를 한다. axis=0
: 행 삭제 (default)axis=1
: 열 삭제inplace=True
: 원본 데이터에서 삭제하겠다.inplace=False
: 원본 데이터에서 삭제하지 않고 삭제한 데이터프레임을 조회하겠다.
값 변경하기 : 열 전체 값 변경
데이터프레임명['변경할 컬럼명'] = 값
값 변경하기 : 조건절을 이용한 변경
데이터프레임명.loc[ 조건절, '변경할 컬럼명' ] = 값
값 변경하기 : np.where을 활용한 변경
범주형 값을 변경하기 : map을 활용한 변경
데이터프레임명.map(딕셔너리)
데이터프레임명.map( { '변경 전 컬럼명' : '변경 후 컬럼명' , ....} )
숫자형 값을 변경하기 : pd.cut을 활용한 변경
데이터프레임명.cut( 데이터프레임명[ '변경할 컬럼명' ], 범주 개수, labels=[ 범주이름 리스트 ] )
데이터프레임명.cut( 데이터프레임명[ '변경할 컬럼명' ], bins=[범주 구간], labels=[ 범주이름 리스트 ] )
07 DataFrame 결합
concat을 이용한 결합
pd.concat( [ 데이터프레임1, 데이터프레임2 ], join='결합 방법', axis='결합 방향' )
- 데이터프레임 여러개로 한번에 concat을 진행할 수 있다.
axis = 0
: 세로(행)로 합치기axis = 1
: 가로(열)로 합치기join = 'inner'
: 매칭되는 행과 열만 합치기join = 'outer'
: 모든 행과 열 합치기
merge를 이용한 결합
pd.merge( 데이터프레임1, 데이터프레임2, on='결합 기준 컬럼', how='결합 방법')
- 📌 방향이 없고 무조건 가로(열)로 키 값을 기준으로 합친다. 따라서 데이터프레임 2개만을 사용한다.
how = left
: 데이터프레임1의 결합 기준 컬럼이 가지고 있는 값을 기준으로 병합한다.how = right
: 데이터프레임2의 결합 기준 컬럼이 가지고 있는 값을 기준으로 병합한다.how = inner
: 결합 기준 컬럼의 두 데이터프레임에서 공통으로 가진 값을 기준으로 병합한다.
pivot을 이용한 재구성
데이터프레임명.pivot( 인덱스, 컬럼명, 값 )
'데이터 사이언스 > 데이터 분석·전처리' 카테고리의 다른 글
[Python] matplotlib, seaborn을 이용한 단변량 분석 (0) | 2023.02.11 |
---|---|
[데이터 분석 방법론] CRISP-DM 프로세스 (0) | 2023.02.10 |
[Python] Pandas 시계열 데이터 다루기 - 날짜, shift, rolling, diff (0) | 2023.02.08 |
[Python] Pandas DataFrame 사용법 정리 1 - 생성, 정보 확인, 정렬, 조회, 집계 (0) | 2023.02.07 |
[Python] Numpy 기초 정리 (0) | 2023.02.07 |