我有两个Pandas系列,我用下面的代码合并:
HS4_Tariffs_16=pd.concat([df_tariff_HS4_16_PT,df_tariff_HS4_16_MFN],axis=1)
如果你想知道为什么我用concat代替merge,错误'Series'对象没有属性'merge'显示当我使用merge.所以无论如何,我用concat合并了两个序列,产生了一个 Dataframe .然后,我用代码重置索引:
HS4_Tariffs_16.reset_index()
现在,当我尝试使用以下代码重命名一列时,真实的的问题出现了:
HS4_Tariffs_16=HS4_Tariffs_16.rename(columns={'ProductCode':'HSCode'})
它没有重命名列,而是将列转换为索引。输出如下所示:
Preferential tariff for APTA countries MFN duties (Applied)
ProductCode
101 0.3 0.3
102 0.3 0.3
103 0.3 0.3
104 0.3 0.3
105 0.3 0.3
... ... ...
9702 0.1 0.1
9703 0.1 0.1
9704 0.0 0.0
9705 0.1 0.1
9706 0.1 0.1
1224 rows × 2 columns
如果我想要的最终结果是一个 Dataframe ,其中名为“ProductCode”的列重命名为“HSCode”,请告诉我需要更正代码的哪一部分。
4条答案
按热度按时间7y4bm7vi1#
下面的方法可能不需要重新设置索引就可以工作。当你重命名列的时候,你可以把它设置为索引,就像你重命名框架本身一样,Pandas有时候就是这样奇怪!
dbf7pr2w2#
可以使用
rename_axis
方法更改索引列的名称。这样可以避免更改数据和添加可能不必要的新索引列。您也可以使用圆括号一步完成此操作,以获得更简洁的代码:
um6iljoc3#
这个应该可以
或者,您可以使用所需的名称创建副本,然后删除原始文件,然后:
2jcobegt4#
您可以尝试以下两种可能的解决方案:
或