擅长:python、mysql、java
<p>您想要的是从一组标识符(代码)转换到另一组标识符(我想SEC Edgar数据库中使用的CIK)</p>
<p>我会的</p>
<ol>
<li>将索引列转换为普通列,特别是当这些是多索引时,可能在重命名索引列之后</li>
</ol>
<pre><code>A.index.names=('Data','Ticker')
A = A.reset_index()
</code></pre>
<ol start=“2”>
<li>使用map方法将股票代码转换为CIK</li>
</ol>
<pre><code>transco = B.set_index('Ticker').CIK
A['CIK'] = A.Ticker.map(transco)
</code></pre>
<ol start=“3”>
<li>最终根据需要重新编制索引,删除未使用的索引</li>
</ol>
<pre><code>A = A.drop('Ticker', axis=1).set_index(['Data','CIK'])
</code></pre>
<p>作为步骤2.5,您可能希望删除您没有任何CIK的条目,例如,执行以下操作:</p>
<pre><code>A = A[A.CIK.notnull()]
A.CIK = A.CIK.astype(int)
</code></pre>
<p>您也可以在执行<code>reset_index()</code>之后进行合并,但我会避免这样做,因为您可能最终会得到无用的大数据帧,因为合并的结果将有一个names列。如果您有许多不同类型的数据(Adj Close、Close等),这可能会增加</p>