Python 3.x 如何基于其他dataframe列替换pandas列值
我有两个数据框,如下所示 df1:- 和第二数据帧:-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 简
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-当然,有人用过这个