首页 > 解决方案 > Pandas:如何返回不在另一个数据框中的值列表?

问题描述

import pandas as pd
df1 = pd.DataFrame({'name': ['CAD123', 'MXN789', 'EUR567','JPY224', 'EUR673', 'PLN254'], 
           'currency': ['CAD', 'MXN', 'EUR', 'JPY', 'EUR','PLN']})

df2 = pd.DataFrame({'currency':['EUR','PLN']})

以上是我的两个数据框。我正在做一些数据分析,并希望在另一个数据框中没有“货币”的“名称”列中的值列表。我的预期输出如下。请建议。

Expected_list = ['CAD123','MXN789','JPY224']

标签: pythonpandas

解决方案


我们isinloc

l = df1.loc[~df1.currency.isin(df2.currency), 'name'].tolist()
['CAD123', 'MXN789', 'JPY224']

推荐阅读