Как мне изменить этот массив Numpy? - PullRequest
0 голосов
/ 19 июня 2019

Я не могу изменить размеры этого массива:

Shape of array:
(1, 81539)

Array:
[[ 906.78302002   10.00976562   23.4375     ... 4594.27587891
49.99263      41.85557556]]

я использую

reshape(-1,36)

Таким образом, должно быть 36 столбцов и необходимое количество строк для хранения всех данных из массива.

Sidenote: я новичок в Python

import pandas as pd
import numpy as np


trainData_temp = pd.read_csv('data/trainData.csv', sep=';')

numArray = np.array(trainData_temp.values).transpose()
print('Shape of array:')
print(numArray.shape)
print('Array:')
print(numArray)

numArray.reshape(-1, 36)
print(numArray)


Results:

Traceback (most recent call last):
Shape of array:
(1, 81539)
Array:
[[ 906.78302002   10.00976562   23.4375     ... 4594.27587891
49.99263      41.85557556]]

File "C:/Users/Timo/PycharmProjects/aimlHamelnProj2/csvModify.py", line 18, 
in <module>
numArray.reshape(-1, 36)
ValueError: cannot reshape array of size 81539 into shape (36)

Ответы [ 2 ]

1 голос
/ 19 июня 2019

Это правильно, потому что вы можете преобразовать массив в матрицу с тем же количеством элементов.

Например:

import numpy

array = np.random.rand(3,3)
array.reshape(-1,3)

приводит к матрице 3x3, но

array = np.random.rand(3,3)
array.reshape(-1,5)

выдаст вам тот же тип ошибки.

0 голосов
/ 19 июня 2019

Ну, проблема была в том, что первое значение файла csv было интерпретировано как имя столбца. Так что пропало одно значение ..

Спасибо всем за помощь!

...