특정 열의 값이 두 데이터 프레임에서 일치하는 경우 한 데이터 프레임의 행을 다른 데이터 프레임으로 복사

아밋 우파 디아이

원래 데이터 세트가 크기 때문에 내 문제를 설명하기 위해 여기에 샘플 데이터를 제공합니다.

import pandas as pd

data_a = {'Buyer':['Company1','Company2','Company3','Company4','Company5','Company6','Company7','Company8'], 
          'Seller':['Company9','Company10','Company11','Company12','Company13','Company14','Company15',
                    'Company16']}
a_df = pd.DataFrame(data_a)

data_b = {'Buyer':['Company7','Company2','Company1','Company3','Company5'], 
          'Seller':['Company15','Company7','Company9','Company11','Company10'], 
          'Company_Number':[1,2,3,4,5],'Date':['01-01-11','02-02-12','03-03-13','04-04-14','05-05-15'],
          'Deal':['Success','Failure','Success','Success','Ongoing']}
b_df = pd.DataFrame(data_b)
print(b_df)

콘솔의 출력 :

a_df = 
      Buyer     Seller
0  Company1   Company9
1  Company2  Company10
2  Company3  Company11
3  Company4  Company12
4  Company5  Company13
5  Company6  Company14
6  Company7  Company15
7  Company8  Company16
b_df = 
      Buyer     Seller  Company_Number      Date     Deal
0  Company7  Company15               1  01-01-11  Success
1  Company2   Company7               2  02-02-12  Failure
2  Company1   Company9               3  03-03-13  Success
3  Company3  Company11               4  04-04-14  Success
4  Company5  Company10               5  05-05-15  Ongoing

이제 'Buyer'와 'Seller'가 일치하는 경우 'Company_Number', 'Date'및 'Deal'행을 데이터 프레임 'b_df'에서 'a_df'로 복사하고 싶습니다. 일치 인덱스가 두 데이터 프레임에서 동일 할 필요는 없습니다. 예상 결과는 다음과 같습니다.

a_df =
      Buyer     Seller Company_Number      Date     Deal
0  Company1   Company9              3  03-03-13  Success
1  Company2  Company10            NaN       NaN      NaN
2  Company3  Company11              4  04-04-14  Success
3  Company4  Company12            NaN       NaN      NaN
4  Company5  Company13            NaN       NaN      NaN
5  Company6  Company14            NaN       NaN      NaN
6  Company7  Company15              1  01-01-11  Success
7  Company8  Company16            NaN       NaN      NaN
라훌 싱

이를 위해 dataFrame.merge()기능을 사용할 수 있습니다 .

pd.merge(a_df,b_df,how='left')

출력 :

      Buyer     Seller  Company_Number      Date     Deal
0  Company1   Company9             3.0  03-03-13  Success
1  Company2  Company10             NaN       NaN      NaN
2  Company3  Company11             4.0  04-04-14  Success
3  Company4  Company12             NaN       NaN      NaN
4  Company5  Company13             NaN       NaN      NaN
5  Company6  Company14             NaN       NaN      NaN
6  Company7  Company15             1.0  01-01-11  Success
7  Company8  Company16             NaN       NaN      NaN

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관