如何在熊猫中将索引字符串更改为日期时间?

时间:2019-11-03 01:04:24

标签: python dataframe datetime

我正在尝试将索引字符串更改为index,这是熊猫数据框中的日期时间。

    High    Low Open    Close   Volume  Adj Close
Date                        
1987-12-31  1.535714    1.495536    1.517857    1.500000    29400000.0  1.200883
1988-01-04  1.598214    1.508929    1.526786    1.598214    82600000.0  1.279513
1988-01-05  1.651786    1.580357    1.642857    1.593750    77280000.0  1.275938
1988-01-06  1.607143    1.562500    1.607143    1.562500    67200000.0  1.250920
1988-01-07  1.598214    1.517857    1.553571    1.589286    53200000.0  1.272364
... ... ... ... ... ... ...
2007-12-24  28.475714   27.827143   27.861429   28.400000   120050700.0 24.785059
2007-12-26  28.708570   28.117144   28.430000   28.421429   175933100.0 24.803761
2007-12-27  28.994286   28.257143   28.421429   28.367144   198881900.0 24.756376
2007-12-28  28.794285   28.125713   28.655714   28.547142   174911800.0 24.913471
2007-12-31  28.642857   28.250000   28.500000   28.297142   134833300.0 24.695290

要更改日期格式,我尝试使用

data['Date'] = data.to_datetime(data['Date'], format ='%Y-%m-%d')

但是我遇到以下错误:

如何将索引更改为日期时间格式?

AttributeError: 'DataFrame' object has no attribute 'to_datetime'

3 个答案:

答案 0 :(得分:1)

pandas.to_datetime()不是数据框对象上的方法,而是pandas模块本身的方法。 (Docs

无法使用df['Date']访问索引。此语法用于访问列。

如果要访问索引并将其类型更改为DateTime,请尝试以下操作:

data.index = pd.to_datetime(data.index, format ='%Y-%m-%d')

答案 1 :(得分:1)

好像您正在尝试修改名为Date的索引。它不是列。试试这个。

data.index = pd.to_datetime(df.index, format ='%Y-%m-%d')

答案 2 :(得分:0)

您的日期列中的单元格是字符串吗?您应该获取日期列,并使用datetime库获取每个字符串为日期时间。