鉴于contracts
是int64
的数组,谁能告诉我为什么这样做:
for c in contracts:
geoEstab = df.loc[df['id']==c] #geoEstab has results
但这会返回一个空集:
relevantEstabs = df.loc[df['id'].isin(contracts)] #relevantEstabs is empty
答案 0 :(得分:0)
由于使用==
条件时,您要匹配给定数组的条件,而使用isin()
函数时,如果所有标签都匹配,则结果仅在某个位置为true。如果值是系列,那就是索引。如果values是一个dict,则键必须是必须匹配的列名。如果值是DataFrame,则索引标签和列标签都必须匹配。