【发布时间】:2021-01-17 10:39:55
【问题描述】:
我有两个 Pandas 系列,我使用以下代码合并:
HS4_Tariffs_16=pd.concat([df_tariff_HS4_16_PT,df_tariff_HS4_16_MFN],axis=1)
如果您想知道为什么我使用 concat 代替合并,当我使用合并时出现错误 'Series' object has no attribute 'merge'。 所以无论如何,我使用 concat 合并了这两个系列,从而产生了一个数据框。此后,我使用代码重置索引:
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
如果我想要的最终结果是一个将名为“ProductCode”的列重命名为“HSCode”的数据框,您能否告诉我需要更正代码的哪一部分。
【问题讨论】:
-
在您尝试重命名之前,df 是什么样的?我认为错误不在您的重命名中
-
您从未实际上重置索引。将
HS4_Tariffs_16更改为:HS4_Tariffs_16 = HS4_Tariffs_16.reset_index()然后运行rename,看看是否得到了预期的结果。 -
非常感谢@CameronRiddell。成功了!
-
我投票关闭此问题是由于错字/不可重现