我有一个Pandas数据框,其中每一行都是一个列表。
我想搜索一个值,但出现了错误。我知道我的值存在。
我检查了这个:
df["text list"][1] == ['رهبری']
并获得:
True
然后我需要这个:
df[df["text list"] == ['رهبری']]
我遇到了这个错误:
ValueError Traceback (most recent call last)
<ipython-input-42-f14f1b2306ec> in <module>
----> 1 df[df["text list"] == ['رهبری']]
~/.local/lib/python3.6/site-packages/pandas/core/ops/__init__.py in wrapper(self, other, axis)
1205 # as it will broadcast
1206 if other.ndim != 0 and len(self) != len(other):
-> 1207 raise ValueError("Lengths must match to compare")
1208
1209 res_values = na_op(self.values, np.asarray(other))
ValueError: Lengths must match to compare
df[df["text list"] == [['رهبری']]]
- Erfandf[df['text list'].apply(lambda x: x == ['رهبری'])]
?这只是猜测,因为您应该提供一个小的示例数据集,以便我们可以重现您的错误。 - Erfantest_frame =pd.DataFrame(data = {'test list': [['entry1'], ['e1', 'e2']], 'column2': [1, 2]}) test_frame['test list'][0] == ['entry1'] >>> True test_frame[test_frame['test list'] == ['entry1']] >>> 错误
- Robert King