在 pandas df 中设置索引而不创建重复列

ste*_*eff 3 python pandas python-3.6

我的数据框如下所示:

In [120]: data.head()
Out[120]: 
         date   open   high    low  close  volume
0  2017-08-07  2.276  2.276  2.253  2.257     0.0
1  2017-08-08  2.260  2.291  2.253  2.283     0.0
2  2017-08-09  2.225  2.249  2.212  2.241     0.0
3  2017-08-10  2.241  2.241  2.210  2.212     0.0
4  2017-08-11  2.199  2.222  2.182  2.189     0.0
Run Code Online (Sandbox Code Playgroud)

做完之后:

data.index = pd.to_datetime(data['date'])
Run Code Online (Sandbox Code Playgroud)

我最终得到的是这样的:

In [122]: data.head()
Out[122]: 
                  date   open   high    low  close  volume
date                                                      
2017-08-07  2017-08-07  2.276  2.276  2.253  2.257     0.0
2017-08-08  2017-08-08  2.260  2.291  2.253  2.283     0.0
2017-08-09  2017-08-09  2.225  2.249  2.212  2.241     0.0
2017-08-10  2017-08-10  2.241  2.241  2.210  2.212     0.0
2017-08-11  2017-08-11  2.199  2.222  2.182  2.189     0.0
Run Code Online (Sandbox Code Playgroud)

如何避免出现重复的日期列?感谢您的帮助。(熊猫0.21.1)

Mik*_*ler 6

首先转换为日期并使用.set_index()

data['date'] = pd.to_datetime(data['date'])
data.set_index('date', inplace=True)
print(data)
Run Code Online (Sandbox Code Playgroud)

输出:

             open   high    low  close  volume
date                                          
2017-08-07  2.276  2.276  2.253  2.257     0.0
2017-08-08  2.260  2.291  2.253  2.283     0.0
2017-08-09  2.225  2.249  2.212  2.241     0.0
2017-08-10  2.241  2.241  2.210  2.212     0.0
2017-08-11  2.199  2.222  2.182  2.189     0.0
Run Code Online (Sandbox Code Playgroud)

inplace=True修改您的data数据框而不是创建新的数据框。