pandas 根据另一个数据框架的查找更新数据框架条目[重复]

jvidinwx  于 2023-03-11  发布在  其他
关注(0)|答案(1)|浏览(123)

此问题在此处已有答案

Check if Pandas column contains value from another column(3个答案)
2天前关闭。
我有两个 Dataframe 。我想通过检查两个 Dataframe 中CELLNAME列下的值来更新第二个 Dataframe 列的条目。
因此,如果在两个数据框中都找到了CELLNAME条目,则第二个数据框将在标题为Status的列中将其条目更新为Yes。如果未找到匹配,则Entry将为No。
这是我到目前为止的代码,但它不工作:

df1=pd.read_csv('Test 1.csv')
df2=pd.read_csv('Test 1 with No Status.csv')
df2['Status']=np.where(df1['CELLNAME']=df2['CELLNAME'],'yes','no')
df2.to_csv('Test 1 with Status.csv',index=False)

gdx19jrr

gdx19jrr1#

您可以使用isin

df2["STATUS"] = df2["CELLNAME"].isin(df1["CELLNAME"])

>>> df2
    TMUK Cell  CELLNAME  STATUS
0       29998  29998A12    True
1       29998  29998B12    True
2       29998  29998C12    True
3       55098  55098A12    True
4       55098  55098B12    True
5       55098  55098C12    True
6       55104  55104B12    True
7       55108  55108A12    True
8       55108  55108B12    True
9       55108  55108C12   False
10      57255  57255A12   False
11      57255  57255B12   False
12      57255  57255C12   False

如果您想要“是”/“否”而不是“真/假”:

df2["STATUS"] = df2["CELLNAME"].isin(df1["CELLNAME"]).map({True: "yes", False: "no"})

相关问题