pandas DataFrame按数组中的元素选择
Posted
技术标签:
【中文标题】pandas DataFrame按数组中的元素选择【英文标题】:pandas DataFrame selection by element in array 【发布时间】:2020-05-21 09:03:44 【问题描述】:尝试根据 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 选择的其他选项?
【问题讨论】:
【参考方案1】:你需要apply
和in
作为布尔掩码,如果需要过滤器使用boolean indexing
:
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]
【讨论】:
以上是关于pandas DataFrame按数组中的元素选择的主要内容,如果未能解决你的问题,请参考以下文章