Итак, я получил этот TypeError: дескриптор 'strftime' требует объект 'datetime.date', но получил 'str'. Вы можете мне помочь? - PullRequest
0 голосов
/ 28 апреля 2020

Я знаю, что есть похожий вопрос, но этот ответ не выполнил мой запрос. Поэтому я нашел этот код в github, и он, кажется, работает для той цели, на которой я работаю. Это часть, на которой я застрял

def extend_index(self, index, new_size):
        values = index.values
        current = datetime.strptime(index[-1], '%m/%d/%y')

        while len(values) < new_size:
            current = current + timedelta(days=1)
            values = np.append(values, datetime.strftime(current, '%m/%d/%y'))
        return values

Эта функция вызывается через -

new_index = self.extend_index(data.index, self.predict_range)

- где данные - это набор данных типа серии с индексом - дата формата str. Таким образом, используя эту логику c Я модифицирую этот код, я составил список дат, делающих это -

new_index = pd.date_range(year=2020,month=1,day=22, periods=150).tolist()

и взял свой список данных, чтобы сделать его типом pd.Series с index = new_index. Но так как new_index имеет тип отметки времени, я изменил

current = datetime.strptime(index[-1], '%m/%d/%y')

на

current = datetime.strftime(index[-1], '%m/%d/%y')

Но это не работает и выдает мне вышеупомянутую ошибку. Я также попробовал несколько различных методов, чтобы обойти это, но он дал аргумент strptime, который должен быть str, а не tuple, и сейчас я думаю, что это вне меня, так как я занимался этим последние 3 часа. Можете ли вы вести меня или сказать, как пройти через это? Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...