如何将DataFrame的索引设置为date列的标签值
问题描述
现有如下格式的DataFrame:
date rate 0 2015-12-11 0.253330 1 2015-12-12 NaN 2 2015-12-13 NaN 3 2015-12-14 0.210000 4 2015-12-15 0.220000 5 2015-12-16 0.220000 6 2015-12-17 0.365000 7 2015-12-18 0.450000
需要将该DataFrame的索引修改为date列的值,最终呈现如下形式:
rate 2015-12-11 0.253330 2015-12-12 NaN 2015-12-13 NaN 2015-12-14 0.210000 2015-12-15 0.220000 2015-12-16 0.220000 2015-12-17 0.365000 2015-12-18 0.450000
解决方案
方法1:使用set_index()(推荐)
这是Pandas官方推荐的设置索引方法,直接指定date列为新索引,默认会自动移除原date列:
df = df.set_index('date')
如果需要保留原date列,添加drop=False参数即可:
df = df.set_index('date', drop=False)
方法2:手动修改索引并删除原列
先把date列的值赋值给DataFrame的索引,再删除原date列:
df.index = df['date'] df = df.drop('date', axis=1)
两种方法都能达到目标,优先选第一种,代码更简洁且符合Pandas的设计规范。
内容的提问来源于stack exchange,提问作者VegDork
相关产品推荐
相关产品推荐

