IndexError: слишком много индексов для массива для numpy - PullRequest
0 голосов
/ 20 марта 2019

Обмен подробностями данных здесь -

набор данных содержит 116 столбцов и 30229 строк.набор данных dtype = датафрейм.Последний столбец является зависимой переменной, в то время как все остальные являются независимой переменной.

X, Y - float64 и int64 соответственно.train и test являются объектом со значением value = ndarray объекта numpy модуля.

Я определил математическую функцию для евклидова расстояния = ((x1-x2) ^ 2 + (y1-y2) ^ 2 + ....) ^ 1 / 2.

Iсталкиваюсь с проблемой в последней строке кода - получаю ошибку "IndexError: слишком много индексов для массива для numpy".Даже если я просто набираю train [0] или train [0] [0], ошибка остается той же.

Пожалуйста, помогите мне с решением.Пожалуйста, дайте мне знать, если вам нужно больше деталей.

Код - `

import numpy as np
import pandas as pd
import math as mt
import matplotlib.pyplot as plt

dataset = pd.read_csv('Quote_Viewed_Doc_Updated.csv')
X = dataset.iloc[:,:-1].values
y = dataset.iloc[:,115].values

#splitting into Test and Train

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X,y, test_size = 1/3, random_state = 0)

# 1) given two data points, calculate the euclidean distance between them
def get_distance(data1, data2):
    points = zip(data1, data2)
    diffs_squared_distance = [pow(a - b, 2) for (a, b) in points]
    return mt.sqrt(sum(diffs_squared_distance))

# reformat train/test datasets for convenience
train = np.array(zip(X_train,y_train))
test = np.array(zip(X_test, y_test))

get_distance(train[0][0], train[1][0])

`

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