TypeError: Тип Tuple не может быть создан;используйте взамен tuple () - PullRequest
0 голосов
/ 25 октября 2019

Я написал программу со следующим фрагментом кода:

import pandas as pd
import numpy as np
from typing import Tuple

def split_data(self, df: pd.DataFrame, split_quantile: float) -> Tuple(pd.DataFrame, pd.DataFrame):
    '''Split data sets into two parts - train and test data sets.'''
    df = df.sort_values(by='datein').reset_index(drop=True)
    quantile = int(np.quantile(df.index, split_quantile))
    return (
        df[df.index <= quantile].reset_index(drop=True),
        df[df.index > quantile].reset_index(drop=True)
    )

Программа возвращает следующую ошибку: TypeError: Type Tuple cannot be instantiated; use tuple() instead. Я понимаю, что я могу решить свой код, заменив Tuple(pd.DataFrame, pd.DataFrame) на tuple(), однако я теряю часть информации, что мой кортеж будет состоять из двух фреймов данных панд.

Не могли бы вы, пожалуйста,помогите, как устранить ошибку и не потерять информацию одновременно?

1 Ответ

2 голосов
/ 25 октября 2019

Используйте квадратные скобки:

Tuple[pd.DataFrame, pd.DataFrame]

Из документов :

Тип кортежа;Tuple [X, Y] - это тип кортежа из двух элементов с первым элементом типа X и вторым типа Y. Тип пустого кортежа может быть записан как Tuple [()].

...