원래 데이터 세트가 크기 때문에 내 문제를 설명하기 위해 여기에 샘플 데이터를 제공합니다.
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] 삭제
몇 마디 만하겠습니다