Python 3.x 如何基于其他dataframe列替换pandas列值

Python 3.x 如何基于其他dataframe列替换pandas列值,python-3.x,pandas,Python 3.x,Pandas,我有两个数据框,如下所示 df1:- 和第二数据帧:- col1 col2 aa b cc e bb d 我想把dataframe1的col3的值改为“cc”。如下图所示。基于第二个数据帧列col1和col2 col1 col2 col3 aa b cc aa d c bb d cc bb b g cc e cc dd g c 简

我有两个数据框,如下所示

df1:-

和第二数据帧:-

 col1  col2 
  aa    b
  cc    e
  bb    d
我想把dataframe1的col3的值改为“cc”。如下图所示。基于第二个数据帧列col1和col2

 col1   col2 col3 
   aa      b   cc
   aa      d   c
   bb      d   cc
   bb      b   g
   cc      e   cc
   dd      g   c
简言之,我想将第二个数据帧columnscol1,col2映射为columnscol1,col2的第一个数据帧,并更改第一个数据帧中与其匹配的columncol3。

将左连接和指示符参数用于帮助器列,将for==与中的两个和最后一个设置值进行比较:

与辅助列的左连接和指示器参数一起使用,将for==与中的两个和最后一个设置值进行比较:

在为数据帧df2上的“col3”赋值后,可以使用pd.concat并删除_副本:

df = pd.concat([df2.assign(col3='cc'), df1]).drop_duplicates(['col1','col2']).reset_index(drop=True)
df
输出:

  col1 col2 col3
0   aa    b   cc
1   cc    e   cc
2   bb    d   cc
3   aa    d    c
4   bb    b    g
5   dd    g    c
在为数据帧df2上的“col3”赋值后,可以使用pd.concat并删除_副本:

df = pd.concat([df2.assign(col3='cc'), df1]).drop_duplicates(['col1','col2']).reset_index(drop=True)
df
输出:

  col1 col2 col3
0   aa    b   cc
1   cc    e   cc
2   bb    d   cc
3   aa    d    c
4   bb    b    g
5   dd    g    c

你能解释一下df1.loc[m,'col3']是如何工作的吗?@vishwajeetman-当然,有人用过这个。你能解释一下df1.loc[m,'col3']是如何工作的吗?@vishwajeetman-当然,有人用过这个