728x90
[Pandas] 업데이트 (update)
pandas의 내장 함수인 update는 다른 데이터 프레임의 NA 가 아닌 값을 사용하여
데이터프레임의 값을 수정한다. 업데이트는 인덱스를 기준으로 정렬하며, 반환값이 없다.
DataFrame.update(other, join='left', overwrite=True, filter_func=None, errors='ignore')
update 함수는 위와 같이 사용이 가능하며, 파라미터에 대한 설명은 다음과 같다.
- other : 데이터 프레임에 덮어씌울 객체를 말한다.
- join : 기준이 될 인덱스다. left만 선택이 가능하므로 제외 가능하다.
- overwrite : 덮어씌울 방식이다. True면 데이터프레임의 모든 데이터에 other을 덮어씌우며, False면 데이터프레임에서 Na인 값에 대해서만 덮어씌운다.
- filter_func : 덮어 씌울 값을 함수로 정할 수 있다.
- errors : raise일 경우 데이터프레임과 other 모두 Na가 아닌 값이 있을 경우 오류를 발생 시킨다.
만약 다음과 같이 df1과 df2 데이터 프레임이 있을 때, update를 해보자
df1 = pd.DataFrame({'A':[1,2,3], 'B':[None,5,6]})
df2 = pd.DataFrame({'B':[24,None,26], 'C':[37,38,39]})
overwrite
이 때, overwrite 인수가 True면 df1과 df2가 이름을 공유하는 열에 대해서, df2의 값을 df1에 덮어씌운다.
(true는 기본값이다.)
df1.update(df2)
overwrite가 False 경우엔, df1에서 Na인 값에 대해서만 업데이트가 진행된다.
df = df1.update(df2, overwrite=False)
filter_func
filter_func에 함수를 넣어 원하는 값만 업데이트가 가능하다.
예를 들어 df1이 6인 값에 대해서만 업데이트가 가능하도록 설정 할 수 있다.
df1.update(df2,filter_func=lambda x: x==6)
반응형
'👩💻 Develope > Python' 카테고리의 다른 글
[Python] 변수명과 함수명 짓기 (0) | 2024.03.29 |
---|---|
[Python] 사용자 정의 함수를 사용할 때의 주의 사항 (0) | 2024.03.28 |
[Python] index 찾기 (find, index) (0) | 2024.03.25 |
[Python] 인덱싱, 슬라이싱 (0) | 2024.03.21 |
[Python] Zip() (0) | 2024.03.20 |