你好,我有两个df,例如
df1
Ancient New
Seq1.1 Seq1.1_A
Seq2 Se2.4_3
和另一个
df2
COL1 COL2
A Seq1.1
B Plants
C YP_OODDD
D Seq2
,我想替换与COL2
列对应的df.Ancient
值,并用其对应的df1.New
并获得
COL1 COL2
A Seq1.1_A
B Plants
C YP_OODDD
D Se2.4_3
答案 0 :(得分:2)
将Series.replace
与DataFrame.set_index
创建的Series
一起使用,并选择数量New
:
df2['COL2'] = df2['COL2'].replace(df1.set_index('Ancient')['New'])
print (df2)
COL1 COL2
0 A Seq1.1_A
1 B Plants
2 C YP_OODDD
3 D Se2.4_3
答案 1 :(得分:1)
将第一个数据帧的索引设置为古代df.set_index
,然后使用df2.col2.replace(df.new)
传递系列作为参数。
df=pd.DataFrame({"col1":["john","amber"],"col2":["a","h"]})
df2=pd.DataFrame({"ab":["m","g"],"ful":["abraham","heard"]})
print(df,"\n",df2)
df2.set_index("ab",inplace=True)
df.col2=df.col2.replace(df2['ful'])
df
输出:
col1 col2
0 john a
1 amber h
ab ful
0 a abraham
1 h heard
col1 col2
0 john abraham
1 amber heard