concat()
이나 merge()
를 사용할 수 있습니다.
- 사용자 정보 데이터를
pandas
의DataFrame
으로 만듭니다.import pandas as pd user = pd.DataFrame({"id": [1, 2, 3, 4], "name": ["민준", "수영", "은진", "채윤"]}) user
- 책 데이터를 pandas의 DataFrame으로 만들어봅시다.
book = pd.DataFrame({"id": [1, 2, 3, 4], "name": ["버그란 무엇인가", "두근두근 물리학", "미분해줘 홈즈", "지금 우리 코드는"], "rent_user": [1, 3, 2, 3]}) book
append()
- 새로운 유저 정보가 담긴 데이터를 생성
new_user = pd.DataFrame({"id": [5, 6, 7], "name": ["소민", "지섭", "하림"]}) new_user
.append
을 활용해서 두DataFrame
을 병합- cf) ignore_index : True라면 연결하는 과정에서 인덱스를 새로 지정 (0, 1, ...)
new = user.append(new_user, ignore_index = True) new
.concat()
을 활용해서 병합new_with_concat = pd.concat([user,new_user], ignore_index= True) new_with_concat
merge()
.merge
를 이용해 두DataFrame
을 가로로 병합book.merge(new, left_on = 'rent_user', right_on = 'id')
이때, 왼쪽 DataFrame의 기준 Column을 left_on
으로 지정하고, 오른쪽 DataFrame의 기준 Column을 right_on
으로 지정합니다.
suffixes
메소드를 활용해column
명을 변경ans = book.merge(new, left_on = 'rent_user', right_on = 'id', suffixes = ("","_user")) ans
.drop
을 사용해 중복되는Column
을 삭제ans.drop([col for col in ans.columns if 'id_user' in col], axis = 1, inplace = True) ans