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)
首先转换为日期并使用.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数据框而不是创建新的数据框。