使用熊猫获取两个数据帧之间的匹配值

时间:2021-07-03 10:52:24

标签: python pandas

我有两个多列的数据框。

我想比较 df1['id'] 和 df2['id'] 并返回一个具有匹配值的列 ["correct_id"] 的新 df。例子:

df1:

     id      Name
0   123      Paul
1  c345      Jean
2     0    Alicia
3   345  Jennifer

df2

    id      Name
0  123      Paul
1  980      Jean
2    0    Alicia
3  945  Jennifer

这是我的代码:

import pandas as pd 

df1=pd.DataFrame({'id':['123','c345','0','345'],
    'Name':['Paul','Jean','Alicia','Jennifer'],
})
print(df1)

df2 = pd.DataFrame({'id':[123,980,0,945],
    'Name':['Paul','Jean','Alicia','Jennifer'],})

print(df2)

df1['id'] = pd.to_numeric(df1['id'], errors='coerce')
df1["correct_id"] = (df1["id"].isin(df2["id"]) * df1["id"]).replace(0, "N/A")
print(df1)

我得到了作为输出:

     id      Name correct_id
0  123.0      Paul      123.0
1    NaN      Jean        NaN
2    0.0    Alicia        N/A
3  345.0  Jennifer        N/A

预期输出:

      id      Name correct_id
0    123      Paul        123
1    c345      Jean       N/A
2    0      Alicia        0
3   345  Jennifer        N/A

我该如何解决这个问题

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

bool hasThrownError = false;

  Widget buildWidgetTree() {
    return hasThrownError
        ? Text("This is where you can show your error illustration")
        : Text("This is wher you can show your regular view");
  }
相关问题