擅长:python、mysql、java
<p>不太为人所知,但<code>pandas</code>实际上有一个内置的<code>flatten</code>函数,用于展平任何嵌套级别的列表(或任何其他类似容器)<code>flatten</code>返回一个生成器,因此我们需要将其包装在<code>pd.Series()</code>中(将其包装在<code>list()</code>中同样有效-任何将耗尽GerGenerator的操作)以检索所有值</p>
<pre><code>import pandas as pd
from pandas.core.common import flatten
df["new"] = pd.Series(flatten(list_item))
</code></pre>
<hr/>
<p>编辑:因为你已经改变了你的问题。只需使用<code>flatten</code>方法即可获得相同的结果:
我们将列表展平,对于每个项目,我们将拆分“|”上的字符串,以创建一个新的列表列表(这次正确组织)。我们可以直接将其分配给新列</p>
<pre><code>df[["Num", "Expr"]] = [item.split("|") for item in flatten(list_item)]
</code></pre>