标题听起来比实际情况复杂。鉴于数据。
我想要获取数组
无法工作,因为在比较中出现了一个 ValueError 错误,指责“'长度必须匹配才能进行比较',(5,),(1,)”。我还尝试过。
只有当的元素都只有一个元素时,才能起作用。
有没有一种方法可以检索所有的元素,其中 == c,而不需要将元素转换为字符串?
data = [
np.array(['x'], dtype='object'),
np.array(['y'], dtype='object'),
np.array(['z'], dtype='object'),
np.array(['x', 'z', 'y'], dtype='object'),
np.array(['y', 'x'], dtype='object'),
]
s = pd.Series(data)
我想要获取数组
s
中满足条件 s == np.array(['x'])
的元素。显而易见的方法是:c = np.array(['x'])
s[s==c]
无法工作,因为在比较中出现了一个 ValueError 错误,指责“'长度必须匹配才能进行比较',(5,),(1,)”。我还尝试过。
s[s=='x']
只有当
eq_c = np.vectorize(lambda a: np.array_equal(a, c)) ; df[eq_c(s)]
,但这仍然是一个循环。 - undefined