>source

내 df2 [ "index"]의 값을 기반으로 새 열을 만드는 데 문제가 있습니다. 내가 얻고 싶은 것은 실제 색인을 기반으로 df1 [ "score"] 내부의 값입니다.

보다 이해하기 쉽도록 여기 두 가지 샘플 데이터 프레임이 있습니다 :

df1= pd.DataFrame({'cluster':[1,2,3,4,5], 'score':[80, 90, 60, 40, 12]})  
df2= pd.DataFrame({'word':["hello", "my", "name", "is", "tom"], 'label':["aa", "bb", "cc", "dd", "ee"], 'idx':[1,3,4,4,4]}) 

다음은 df2의 "index"열과 df1의 'actual index'를 기준으로 점수가 참조 될 것으로 예상되는 결과입니다

df3= pd.DataFrame({'word':["hello", "my", "name", "is", "tom"], 'label':["aa", "bb", "cc", "dd", "ee"], 'idx':[1,3,4,4,4], 'score':[90, 40, 12, 12, 12]})


  • 답변 # 1

    Series.map 사용  작성자 Series  인덱스 값과 일치하는 df1 [ 'score'] :

    df2['score'] = df2['idx'].map(df1['score'])
    print (df1)
        word label  idx  score
    0  hello    aa    1     90
    1     my    bb    3     40
    2   name    cc    4     12
    3     is    dd    4     12
    4    tom    ee    4     12
    
    

관련 자료

  • 이전 php - auth - : id ()는 사용자 id를 찾을 수 없으며 null을 반환합니다
  • 다음 echo를 통해 PHP에서 HTML 클래스 HTML을 표시하는 방법은 무엇입니까?