擅长:python、mysql、java
<p>对于交叉积,请参见<a href="https://stackoverflow.com/questions/13269890/cartesian-product-in-pandas">this question</a>。</p>
<p>本质上,您必须执行普通合并,但为每一行指定相同的键来连接,以便每一行在帧之间彼此连接。</p>
<p>然后,可以通过应用函数将列添加到新框架中:</p>
<pre><code>new_df = pd.merge(df1, df2, on=key)
new_df.new_col = newdf.apply(lambda row: myfunc(row['A_x'], row['A_y']), axis=1)
</code></pre>
<p><code>axis=1</code>强制<code>.apply</code>跨行工作如果合并的框架与示例中的列共享,则结果框架中的默认列名为“x”和“y”。</p>