我无法调整此数组的尺寸:
Shape of array:
(1, 81539)
Array:
[[ 906.78302002 10.00976562 23.4375 ... 4594.27587891
49.99263 41.85557556]]
我正在使用
reshape(-1,36)
所以应该有36列和所需的行数来存储数组中的所有数据。
旁注:我是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)
答案 0 :(得分:1)
这是正确的,因为您只能将数组整形为具有相同数量元素的矩阵。
例如:
import numpy
array = np.random.rand(3,3)
array.reshape(-1,3)
得出3x3矩阵,但是
array = np.random.rand(3,3)
array.reshape(-1,5)
会给你同样的错误。
答案 1 :(得分:0)
问题是,csv文件的第一个值已被解释为列的名称。因此,缺少一个价值。
感谢您的帮助!