IndexError: Replacement index 1 out of range for positional args tuple

IndexError: Replacement index 1 out of range for positional args tuple

我正在学习教程,但我不知道为什么会出现此错误:

    <ipython-input-61-d59f7a5a07ab> in extract_featuresets(ticker)
      2     tickers, df = process_data_for_labels(ticker)
      3     df['{}_target'.format(ticker)] = list(map(buy_sell_hold,
----> 4                                              df['{}_{}1d'.format(ticker)],
      5                                              df['{}_{}2d'.format(ticker)],
      6                                              df['{}_{}3d'.format(ticker)],

IndexError: Replacement index 1 out of range for positional args tuple

这是我的代码:

tickers, df = process_data_for_labels(ticker)
df['{}_target'.format(ticker)] = list(map(buy_sell_hold,
                                         df['{}_{}1d'.format(ticker)],
                                         df['{}_{}2d'.format(ticker)],
                                         df['{}_{}3d'.format(ticker)],
                                         df['{}_{}4d'.format(ticker)],
                                         df['{}_{}5d'.format(ticker)],
                                         df['{}_{}6d'.format(ticker)],
                                         df['{}_{}7d'.format(ticker)],))

这里是 link 教程:https://www.youtube.com/watch?v=zPp80YM2v7k

您的格式字符串在 format 中需要两个参数,而您只传入一个 ticker 作为参数。

如果ticker是一个二元素列表或元组,你可以这样做:

df['{}_{}1d'.format(*ticker)]

否则去掉一个大括号:

df['{}_1d'.format(ticker)]

如果您想要在

{ } 中使用相同的值
df['{ }_{ }1d'.format(*ticker)]

试试这样:

df['{0}_{0}1d'.format(*ticker)]

我解决了类似你的问题。