擅长:python、mysql、java
<p>我不确定这是最有效的方法,但您可以将<code>DataFrame</code>转换为<code>dict</code>,然后使用<code>apply</code>将键映射到值:</p>
<p>假设第一个<code>DataFrame</code>是<code>df1</code>,第二个是<code>df2</code>:</p>
<pre><code>df_dict = dict(zip(df2['col21'], df2['col22']))
df3 = pd.DataFrame({"31":df1['col11'], "32": df1['col12'].apply(lambda x: [df_dict[y] for y in x])})
</code></pre>
<p>或者如@jezrael所建议的嵌套列表理解:</p>
<pre><code>df3 = pd.DataFrame({"31":df1['col11'], "32": [[df_dict[y] for y in x] for x in df1['col12']]})
</code></pre>
<p>注意:<code>df3</code>有一个默认索引</p>
<pre><code> 31 32
0 X [alpha]
1 Y [alpha, beta, gamma]
2 Z [gamma, alpha]
</code></pre>