인공지능 AI/머신러닝 Machine Learning

두 데이터프레임 df1, df2를 비교해서 df2 새로운 칼럼에 df1의 값을 입력하기 예제

Tap to restart 2021. 3. 18. 13:00

학생 이름과 반 정보가 있는 테이블A가 있고 이름 정보만 있는 테이블B가 있다.

테이블B에 있는 이름 중 테이블A에 있는 이름과 같은 이름일 경우에는 반 정보를 입력하고, 없을 경우에는 '미정'이란 정보를 입력하자.

 

import pandas as pd
df1 = pd.DataFrame(data= {'이름': ['이서연', '김민준', '박지우'], '반': ['1-1', '2-1', '3-2']})
print(df1)
print()
df2 = pd.DataFrame(data= {'이름': ['박지우', '김소연']})
print(df2)
print()
df2['반']  = df2['이름'].map(lambda x : df1.query("이름 == '" + x + "' ").반.iloc[0] if len(df1.query("이름 == '" + x + "' ")) > 0 else '미정')
print(df2)

 

출력 결과

    이름    반
0  이서연  1-1
1  김민준  2-1
2  박지우  3-2

    이름
0  박지우
1  김소연

    이름    반
0  박지우  3-2
1  김소연   미정