Pandas set_index()生成重复timestamp列的问题求助
解决Pandas DataFrame索引重复列问题
问题原因:使用
set_index(ticker_data_2['timestamp'])设置索引时,仅将该列值作为新索引,但原timestamp列会保留在DataFrame中,因此出现重复。直接修正方案:在
set_index中传入列名字符串,利用默认的drop=True参数(可显式声明)自动移除原列:
# 重置索引后直接用列名设置索引,自动删除原列 ticker_data_2 = ticker_data.copy().reset_index() ticker_data_2.set_index('timestamp', inplace=True, drop=True)
- 已执行原代码后的补救方案:手动删除多余的
timestamp列:
ticker_data_2.drop('timestamp', axis=1, inplace=True)
- 一步到位的简化写法:合并重置索引与设置索引操作:
ticker_data_2 = ticker_data.copy().reset_index().set_index('timestamp')
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

