인프런 커뮤니티 질문&답변

올잉님의 프로필 이미지
올잉

작성한 질문수

공공데이터로 파이썬 데이터 분석 시작하기

[17/20] pandas 의 concat 으로 두 개의 데이터프레임 하나로 합치기

합치기

작성

·

273

1

안녕하세요 선생님 질문이 있습니다.

1. 239166 rows × 17 columns

2. 150414 rows × 2 columns

위의 두행을 합치려고 합니다.

저의 생각은 1번의 데이터프레임을 옆에다가 2번의 데이터프레임을 붙여 밑에 nun값에 해당되는 부분을 drop을 시킬려는게 계획이였습니다. 

따라서 merge ( 1 , 2 , how = outer)을 적용할려고 했으나 에러에 concat을 사용하라는게 이유였습니다.

 

제가 생각했던 방향성을 가지고 데이터프레임을 합치기 위해선 어떤 코드를 이용하여 데이터프레임을 합칠 수 있을까요?

다시한번 말씀드리면 어떤 특정 데이터프레임에다가 또 다른 데이터 프레임을 그대로 붙여 중간중간마다 nun값이 생기는것이아니라 부족한 데이터에 nun값이 생기는 부분을 drop시킬 수 있는 합치기를 원합니다.

답변 3

0

올잉님의 프로필 이미지
올잉
질문자

알려주셔서 감사합니다!!

0

올잉님의 프로필 이미지
올잉
질문자

삭제된 글입니다

박조은님의 프로필 이미지
박조은
지식공유자

안녕하세요. 

두 개의 데이터프레임을 연결해 주려면 기준이 필요합니다. 인덱스 값이 서로 같거나 컬럼값이 같아야 하는데 올려주신 내용으로는 공통사항이 보이지 않습니다.

예를들어 prlst_nm 이라는 컬럼의 값이 두 번째 데이터프레임에도 존재하면 merge 를 통해 key 값을 prlst_nm 으로 연결해 볼 수 있을거 같습니다.

0

박조은님의 프로필 이미지
박조은
지식공유자

안녕하세요.

질문해 주신 내용은 컬럼의 수가 서로 다르고 행의 수도 서로 다른데요.

이렇게 서로 다른 데이터프레임을 합치려면 뭔가 기준이 필요합니다.

concat 으로 합칠 때는 인덱스 값이나 컬럼의 값이 동일해야 행 또는 열로 합칠수가 있는데요.

질문해 주신 내용만으로는 데이터프레임이 어떻게 생겼는지 확인할 수 없어서 concat 을 사용해야 할지 merge를 사용해야 될지  답변하기 어렵습니다.

 

합치고자 하는 두 데이터프레임의 스크린샷을 함께 올려주시거나 아래 링크의 예제를 참고해 보세요.

 

다음 링크를 참고해서 데이터를 합쳐보는 것을 추천합니다.

[Merge, join, concatenate and compare — pandas 1.3.3 documentation](https://pandas.pydata.org/docs/user_guide/merging.html)

올잉님의 프로필 이미지
올잉

작성한 질문수

질문하기