使用另一个 df 替换列值



你好,我有两个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

我想替换COL2df.Ancient列对应的值,并将其替换为相应的df1.New

并得到

COL1 COL2
A    Seq1.1_A
B    Plants
C    YP_OODDD
D    Se2.4_3

Series.replaceDataFrame.set_index创建的Series一起使用,然后选择 volumnNew

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

将第一个数据帧的索引设置为古代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

最新更新