Почему pandas .core.series.Series иногда не может преобразовать в тензор факела в Python? - PullRequest
0 голосов
/ 02 мая 2020

У меня есть фрейм данных, в котором я выбираю два столбца:

X_train, X_test, y_train, y_test = train_test_split(df["EnergyFront"], df["particle"], test_size=0.2) 

тип X_train и X_test равен pandas .core.series.Series, результаты очень похожи:

ИЗОБРАЖЕНИЕ

Я могу преобразовать X_train в тензор факела:

X_train = torch.Tensor(X_train) 

, но когда я пытаюсь сделать то же самое с X_test:

X_test = torch.Tensor(X_test) 

Я получаю следующую ошибку:

ValueError                                Traceback (most recent call last)
<ipython-input-174-14117eb3ce4e> in <module>()
----> 1 X_test = torch.Tensor(X_test)

ValueError: could not determine the shape of object type 'Series'

Как я могу ее решить? Кстати, я работаю в Google Colab Laboratory.

1 Ответ

0 голосов
/ 03 мая 2020

Эта проблема описана здесь: https://github.com/pytorch/pytorch/pull/7583 Чтобы определить форму ряда, они пытаются получить доступ к элементу с индексом 0. Если этот элемент не найден, возникает эта ошибка. В вашем случае, предположительно, это происходит потому, что ваш X_test не содержит первый элемент всей серии.

Я считаю, что правильным решением для вашего случая было бы преобразование вашего X_test в массив, подобный так:

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