擅长:python、mysql、java
<p>如果你不能打败他们,那就加入他们。(在合并之前使两个数据帧具有相同数量的索引级别):</p>
<pre><code>import pandas as pd
df1 = pd.DataFrame({('Q1', 'SubQ1'):[1, 2, 3], ('Q1', 'SubQ2'):[1, 2, 3], ('Q2', 'SubQ1'):[1, 2, 3]})
df1['ID'] = ['a', 'b', 'c']
df2 = pd.DataFrame({'item_id': ['a', 'b', 'c'], 'url':['a.com', 'blah.com', 'company.com']})
df2.columns = pd.MultiIndex.from_product([df2.columns, ['']])
result = pd.merge(df1, df2, left_on='ID', right_on='item_id')
print(result)
</code></pre>
<p>收益率</p>
^{pr2}$
<p>这也避免了<code>UserWarning</code>:</p>
<blockquote>
<p>pandas/core/reshape/merge.py:551: UserWarning: merging between different levels can give an unintended result (2 levels on the left, 1 on the right)</p>
</blockquote>