Python 类型错误:数据类型';int64';不明白

Python 类型错误:数据类型';int64';不明白,python,python-3.x,pandas,jupyter-notebook,Python,Python 3.x,Pandas,Jupyter Notebook,我有以下功能在我的jupyter笔记本中加载数据 #function to load data def load_dataset(x_path, y_path): x = pd.read_csv(os.sep.join([DATA_DIR, x_path]), dtype=DTYPES, index_col="ID") y = pd.read_csv(os.sep.join([DATA_DIR, y_

我有以下功能在我的jupyter笔记本中加载数据

#function to load data
def load_dataset(x_path, y_path):
    x = pd.read_csv(os.sep.join([DATA_DIR, x_path]),
                    dtype=DTYPES,
                    index_col="ID")
    y = pd.read_csv(os.sep.join([DATA_DIR, y_path]))

    return x, y
并且数据定义了以下类型

DTYPES = {
    'ID':'int64',
    'columnA':'str',
    'columnB':'float32',
    'columnC':'float64',
    'columnD':'datetime64[ns]'}
上述csv的标题如下所示

ID          columnA   columnB   columnC         columnD
941215   SALE      15000       56           10/1/2018
当我在笔记本中调用该方法时

from model import load_dataset
X_train, y_train = load_dataset("X_train.zip", "y_train.zip")
我得到下面的错误

2055 raise TypeError("data type '{}' not understood".format(dtype))
2057     # Any invalid dtype (such as pd.Timestamp) should raise an error.
TypeError: data type ' int64' not understood
我想您需要在
numpy
中指定:

DTYPES = {
    'ID':np.int64,
    'columnA':'str',
    'columnB':np.float32,
    'columnC':np.float64}
对于datetimes,需要不同的方法-参数:


你能发布csv文件的前几行吗Python没有
int64
,它只有
int
。这是
numpy
中的数据类型。(
np.int64
)。在
int64
中需要一个大写的
I
,并确保没有前导空格。TypeError看起来您有一个额外的前导空格。
def load_dataset(x_path, y_path):
    x = pd.read_csv(os.sep.join([DATA_DIR, x_path]),
                    dtype=DTYPES,
                    index_col="ID"
                    parse_dates='columnD')
    y = pd.read_csv(os.sep.join([DATA_DIR, y_path]))

    return x, y