TypeError:'DatetimeIndex'对象不可调用

时间:2017-07-25 15:00:33

标签: python pandas datetime numpy

我有以下数据:

                High
 Date
 2017-07-17    150.90
 2017-07-18    150.13
 2017-07-19    151.42
 2017-07-20    151.74
 2017-07-21    150.44
 2017-07-24    152.44

我试图通过在Highs.index(values)内输入值来获取索引,但无法获取索引。

import datetime as dt
from datetime import timedelta as td
import pandas as pd
import pandas_datareader.data as web
import numpy as np

start = dt.datetime(2017, 7, 15)
df = web.DataReader('AAPL', 'google', start)
highs = df['High']
print('Index = ',highs.index(150.44))

当我使用print('Index = ',highs.index(150.44))时,我收到类型错误:

  

print('Index =',highs.index(150.44))

     

TypeError:'DatetimeIndex'对象不可调用

他们无论如何都要使用数据框中的特定值来获取日期时间索引吗?

1 个答案:

答案 0 :(得分:3)

由于您尝试索引/切片到DataFrame的索引,因此必须使用方括号。所以,而不是

df.index(...)

使用

df.index[...]

但是,您似乎想要获取High为150.44的列的索引。你可以这样做,使用布尔索引

highs[df['High'] == 150.44].index
# DatetimeIndex(['2017-07-21'], dtype='datetime64[ns]', name='Date', freq=None)

或者更简单:

highs[df['High'] == 150.44].index.tolist()[0]
# Timestamp('2017-07-21 00:00:00')