반응형
09-05. 행 추가 (append)
DataFrame.append(other, ignore_index=False, verify_integrity=False, sort=False)
개요
append 메서드는 데이터프레임에 행을 추가하는 메서드입니다.
두 데이터프레임 객체를 행 기준으로 합치는 개념입니다.
사용법
기본 사용법
self.append(other, ignore_index=False, verify_integrity=False, sort=False)
other : self 객체에 행 기준으로 합칠 객체입니다.
ignore_index : 기존 인덱스를 사용할지 여부 입니다. False로 할 경우 0,1,2,..,n 이 부여됩니다.
verify_integrity : 합칠 때 이름이 중복되는 인덱스가 있을 경우 오류를 발생시킬지 여부 입니다.
sort : 열을 사전적으로 정렬할 지 여부입니다.
반응형
예시
먼저, 아래와 같이 간단한 2x2 객체를 만들어 보겠습니다.
df = pd.DataFrame(data=[[1,2],[3,4]], index=['row1','row2'], columns=['col1','col3'])
print(df)
>>
col1 col3
row1 1 2
row2 3 4
기본적인 사용법(+sort, ignore_index)
먼저 간단한 df2를 만들어 append로 df와 합쳐보겠습니다.
df2 = pd.DataFrame(data=[[5,6]],index=['row3'],columns=['col2','col4'])
print(df2)
>>
col2 col4
row3 5 6
print(df.append(df2))
>>
col1 col3 col2 col4
row1 1.0 2.0 NaN NaN
row2 3.0 4.0 NaN NaN
row3 NaN NaN 5.0 6.0
row3이 행추가 되었고 기존df에는 없던 col2과 col4가 생성된것을 확인할 수 있습니다.
sort인수를 사용하면 열을 사전적으로 정렬 할 수 있습니다.
print(df.append(df2,sort=True))
>>
col1 col2 col3 col4
row1 1.0 NaN 2.0 NaN
row2 3.0 NaN 4.0 NaN
row3 NaN 5.0 NaN 6.0
ignore_index인수를 사용하면 기존 index를 무시할 수 있습니다.
print(df.append(df2,sort=True,ignore_index=True))
>>
col1 col2 col3 col4
0 1.0 NaN 2.0 NaN
1 3.0 NaN 4.0 NaN
2 NaN 5.0 NaN 6.0
verify_integrity인수의 사용
verify_integrity 인수를 True로 설정하면 이름이 중복되는 인덱스가 존재할 경우 오류를 발생시킵니다.
먼저 중복되는 인덱스가 있는 2x2 객체를 하나 생성하겠습니다.
df3 = pd.DataFrame(data=[[7,8],[9,0]], index=['row2','row3'], columns=['col1','col3'])
print(df3)
>>
col1 col3
row2 7 8
row3 9 0
verify_integrity가 False일 경우 (기본값)
print(df.append(df3,verify_integrity=False))
>>
col1 col3
row1 1 2
row2 3 4
row2 7 8
row3 9 0
verify_integrity가 True일 경우
print(df.append(df3,verify_integrity=True))
>>
오류발생
ValueError: Indexes have overlapping values: Index(['row2'], dtype='object')
반응형
'파이썬완전정복-Pandas DataFrame > 09. 가공' 카테고리의 다른 글
Pandas DataFrame 09-07. 중복행 제거 (drop_duplicates) (0) | 2022.01.23 |
---|---|
Pandas DataFrame 09-06. 자르기 (truncate) (0) | 2022.01.23 |
Pandas DataFrame 09-04. 행/열 삭제 (drop) (0) | 2022.01.23 |
Pandas DataFrame 09-03. 복사 (copy) (0) | 2022.01.23 |
Pandas DataFrame 09-02. 열 꺼내기(pop) (0) | 2022.01.23 |