首页 > 解决方案 > 'DataFrame' 对象没有属性 'DatetimeIndex'

问题描述

我正在尝试返回一个带有已设置为 DateTimeIndex 的 Date 的 Pandas。我尝试了很多类似的事情

inx=OutputDataSet.DatetimeIndex.to_pydatetime()

或者

inx=OutputDataSet.DatetimeIndex.to_pydatetime(format =''%y-%m-%d'')

但我不断收到错误

'DataFrame' object has no attribute 'DatetimeIndex'

这就是 info 属性所显示的内容;

<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 1047 entries, 2017-01-03 to 2021-02-19
Data columns (total 6 columns):
Open         1047 non-null float64
High         1047 non-null float64
Low          1047 non-null float64
Close        1047 non-null float64
Adj Close    1047 non-null float64
Volume       1047 non-null int64
dtypes: float64(5), int64(1)
memory usage: 57.3 KB

很明显有一个DatetimeIndex

打印输出显示没有问题 DatetimeIndex

                     Open       High   ...     Adj Close   Volume
Date                               ...                       
2017-01-03   2.870000   2.940000   ...      2.842312   146804
2017-01-04   2.950000   3.090000   ...      2.871415   292371
2017-01-05   3.000000   3.000000   ...      2.871415   186374
2017-01-06   2.950000   2.970000   ...      2.764707   141723
2017-01-09   2.900000   2.970000   ...      2.842312    60815

理想情况下,我希望 DataFrame 呈现为

    Date         1047 non-null datetime
    Open         1047 non-null float64
    High         1047 non-null float64
    Low          1047 non-null float64
    Close        1047 non-null float64
    Adj Close    1047 non-null float64
    Volume       1047 non-null int64

任何帮助,将不胜感激

标签: pythonpandasdataframedatetimeindex

解决方案


我认为DatetimeIndex是您在 pandas.DataFrame 上拥有的索引类型。每个DataFrame都带有属性index,并且index可以是不同类型的DateTimeIndexPeriodIndexTimedeltaIndex在此处指南

所以在你的输出中,Date是你的索引。如果这不是您期望的输出,您可能需要重新考虑使用 pandas DataFrame。


推荐阅读