基于引用其他DataFram值的索引复制列中的值

2024-04-26 14:07:26 发布

您现在位置:Python中文网/ 问答频道 /正文

基于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的“索引”列和df1的“实际索引”引用的

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]})

Tags: namehellodataframeismylabelwordaa
1条回答
网友
1楼 · 发布于 2024-04-26 14:07:26

使用^{}by Seriesdf1['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

相关问题 更多 >