擅长:python、mysql、java
<p>首先将名称代码列保存在一个新的数据框中:</p>
<pre><code>cols = df.columns.tolist()
for i in range(0, len(cols), 2):
try:
codes_df = codes_df.append(df[[cols[i], cols[i+1]]].rename({cols[i]: 'code', cols[i+1]: 'name'}, axis=1).assign(source=cols[i))
except NameError:
codes_df = df[[cols[i], cols[i+1]]].rename({cols[i]: 'code', cols[i+1]: 'name'}, axis=1).assign(source=cols[i])
</code></pre>
<p>然后您可以只保留代码列:</p>
<pre><code>df = df[[col for col in cols if 'CODE' in col]]
</code></pre>
<p>但是,只有当列的排列方式与您发布的一样时,第一部分才起作用。否则,需要对列名进行检查</p>