我正在数据框中的一列中搜索已转换为列表的CSV中包含的值列表 . 搜索这些值不是问题所在 .
import pandas as pd
df = pd.read_csv('output2.csv')
hos = pd.read_csv('houses.csv')
parcelid_lst = hos['Parcel ID'].tolist()
result = df.loc[df['PARID'].isin(parcelid_lst)]
result
我想要做的是,一旦搜索到列表并且数据框显示“找到”值,我还要打印或显示列表中“未发现”或不存在的值列表在我正在搜索的数据框列中 .
有没有特定的方法来调用呢?
先感谢您!
3 回答
在重新考虑我的问题并稍微考虑一下之后,我找到的解决方案是将“PARID”列中数据框中的所有值转换为列表 . 然后将'parcelid_lst'与它进行比较 .
这导致了数据框中不存在但在'parcelid_lst'中存在的所有值的列表
您不需要为此配置数据帧 . 您可以过滤系列中未找到指定列表(或系列)中的项目,然后使用pd.Series.unique:
如上所述,如果您希望系列中存在重复项,那么最好使
hos['Parcel ID']
成为唯一值数组 .添加波浪号则相反 . 也许这会得到所有不属于
parcelid_lst
的值not_found = df.loc[~df['PARID'].isin(parcelid_lst)]
希望有所帮助 .