在多索引中进行比较 pandas

comparing in a multiindex pandas

我有以下代码确定一只股票是否有 52 周高点:

import pandas as pd
from pandas_datareader import data as web
import numpy as np

tickers = 'goog', 'fb', 'aapl', 'tsla'
df = web.DataReader(tickers, 'yahoo')
for t in tickers:
    df['52wk'] = df['High'][t].asfreq('D').rolling(window=52*7, min_periods=1).max()
    df['52weekhigh'] =  np.where(df['High'][t] >= df['52wk'][t].shift(-1), 'True', 'False')

我在比较前一行股票的 52wk 高点与当前股票 [high] 的最后一行时遇到问题。它给出以下错误:

KeyError: 'goog'

你能告诉我为什么我无法访问goog

您还需要在作业中使用 MultiIndex

for t in tickers:
    df[('52wk', t)] = df['High'][t].asfreq('D').rolling(window=52*7, min_periods=1).max()
    df[('52weekhigh', t)] =  np.where(df['High'][t] >= df['52wk'][t].shift(-1), 'True', 'False')