擅长:python、mysql、java
<p>问题是pandas将<code>[1, 2]</code>视为类似于</em>对象的<em>系列,并试图将<code>df.Li</code>的每个元素与<code>[1, 2]</code>的每个元素进行比较,因此出现错误:</p>
<blockquote>
<p>ValueError: Lengths must match to compare</p>
</blockquote>
<p>无法将大小为2的列表与大小为3的列表进行比较(<code>df.Li</code>)。为了验证这一点,您可以执行以下操作:</p>
<pre><code>print(df.Li == [1, 2, 3])
</code></pre>
<p><strong>输出</strong></p>
<pre><code>0 False
1 False
2 False
Name: Li, dtype: bool
</code></pre>
<p>它不会抛出任何错误并正常工作,但会按预期返回<code>False</code>。要使用列表进行比较,可以执行以下操作:</p>
<pre><code># this creates an array where each element is [1, 2]
data = np.empty(3, dtype=np.object)
data[:] = [[1, 2] for _ in range(3)]
print(df.Li == data)
</code></pre>
<p><strong>输出</strong></p>
<pre><code>0 True
1 False
2 False
Name: Li, dtype: bool
</code></pre>
<p>总的来说,它看起来像熊猫那边的一只虫子</p>