擅长:python、mysql、java
<p>如果你有一个字典,你可以用来地图的东西,那么这个工作很好。在</p>
<pre><code>df_map = {'PT011':'PT021', 'PT012':'PT022'}
df.columns = [{**df_map, **{v:k for k,v in df_map.items()}}.get(x, x) for x in df.columns]
>>> df
Spam Ham PT021 PT022 PT011 PT012
0 0.0 1.0 0.11 0.12 0.21 0.22
1 1.0 0.0 0.21 0.22 0.11 0.12
</code></pre>
<p>或者您可以使用<code>rename()</code>来更安全。在</p>
^{pr2}$
<p>我不知道你说你不想给它取两个名字来翻的时候是什么意思。否则你会知道如何交换哪些列?在</p>
<p>至于你的后续问题:</p>
<pre><code>df_map = {'PT011':'PT021', 'PT012':'PT022'}
df_column_order = df.columns.tolist()
df.rename(columns={**df_map, **{v:k for k,v in df_map.items()}}, inplace=True)
df = df.reindex(df_column_order, axis=1)
</code></pre>