尝试根据df中数组中元素的出现来选择df的子集。
df = pd.DataFrame()
vals = []
for i in range(3):
vals.append(np.linspace(0,1,i+1))
df['vals']=vals
df.isin({'vals':[0.5]})
返回TypeError: unhashable type: 'numpy.ndarray'
像这样的df选择的其他选项?
答案 0 :(得分:0)
如果需要使用过滤器boolean indexing
,则需要apply
in
作为布尔掩码:
print (df.vals.apply(lambda x: 0.5 in x))
0 False
1 False
2 True
Name: vals, dtype: bool
print (df[df.vals.apply(lambda x: 0.5 in x)])
vals
2 [0.0, 0.5, 1.0]