类型错误:类型元组无法实例化;使用 tuple() 代替

Jar*_*děk 14 python typing python-3.x

我用以下代码编写了一个程序:

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)
    )
Run Code Online (Sandbox Code Playgroud)

程序返回以下错误:TypeError: Type Tuple cannot be instantiated; use tuple() instead. 我明白了,我可以通过更换解决我的代码Tuple(pd.DataFrame, pd.DataFrame)tuple(),但我失去的信息的一部分,我的元组将包括两只大熊猫的数据帧。

请您帮帮我,如何解决错误并同时不丢失信息?

ras*_*sar 21

使用方括号:

Tuple[pd.DataFrame, pd.DataFrame]
Run Code Online (Sandbox Code Playgroud)

文档

元组类型;Tuple[X, Y] 是两个项的元组的类型,第一个项的类型为 X,第二个项的类型为 Y。空元组的类型可以写为 Tuple[()]。