【发布时间】:2021-03-21 18:05:23
【问题描述】:
==============
我有一个看起来像这样的第一个 DataFrame df1:
| Name | Location |
|---|---|
| Bob | Paris |
| Bob | Berlin |
| Alice | Paris |
| Alice | Miami |
| Toto | NYC |
| Bob | NYC |
| Mark | Berlin |
| Joe | Paris |
| ... | ... |
然后我有第二个 DataFrame df2,它也看起来像这样:
| Name | Location | Value |
|---|---|---|
| Alice | Paris | 0.3 |
| Bob | Paris | 0.2 |
| Bob | Berlin | 0.4 |
| Alice | Miami | 0.1 |
| Lucas | NYC | 0.0 |
| ... | ... | ... |
我想创建一个函数searchedValue(),它在新列["SEARCHEDVALUE"] 中实现我df1 的每一行,并在这两个条件下使用相应的df2["VALUE"]:
通过检查df1["NAME"] 是否在df2 and 如果df1["LOCATION"] 在我的df2 中,则返回与匹配行对应的df2 VALUE...否则返回未找到匹配项
我知道我可以使用这样的东西来用我的函数来实现我的列:
df1["SearchedValue"] = df2.apply(searchedValue)
但我还没有找到构建我的功能的解决方案。
感谢您的帮助
【问题讨论】:
-
谢谢你的回答,我猜不是,下面的帖子返回比较的布尔值,而不是匹配比较的具体值。我想得到
df2 VALUE如果df1 NAME = df2 NAME & df1 LOCATION = df2 LOCATION
标签: python pandas dataframe comparator