Итак, у меня есть массив XsN
формы (590,), и я пытаюсь стандартизировать данные.
Это пример одного из 590 элементов в моем массиве:
print(XsN[:1])
[array([[ 0. , 0.27229556, -1.8033657 , ..., 0. ,
0. , 0. ],
[ 0. , 0.20665401, -1.9340569 , ..., 0. ,
0. , 0. ],
[ 4. , 0. , 0.04352444, ..., 0. ,
0. , 0. ],
...,
[10. , 0. , -0.5655 , ..., 0. ,
0. , 0. ],
[10. , 0. , 0.9150001 , ..., 0. ,
0. , 0. ],
[10. , 0. , 1.0005 , ..., 0. ,
0. , 0. ]], dtype=float32)]
Затем я изменяю его так, чтобы он имел форму (590,1):
XsN_2 = XsN.reshape(-1,1)
Теперь, когда я использую StandardScaler:
from sklearn.preprocessing import StandardScaler
standardized_data = StandardScaler().fit_transform(XsN_2)
Я получаю ошибку что
TypeError: only size-1 arrays can be converted to Python scalars
и
ValueError: setting an array element with a sequence.
Я понимаю, что пытается найти число, но вместо этого находит ndarray, но я не совсем уверен, как стандартизировать данные формы (590, ) где каждый элемент является собственным ndarray.
Редактировать 1:
Ссылаясь на этот CSV-файл: https://gofile.io/?c=YGxCWQ
Вот некоторый код с примерами данных:
import pandas as pd
from sklearn.preprocessing import StandardScaler
imp = pd.read_csv('foo.csv', sep=',', header=None)
data = imp.values
print(data)
standardized_data = StandardScaler().fit_transform(data)
Ошибка, которую я получаю сейчас:
ValueError: could not convert string to float
Можно ли как-то стандартизировать эти данные?