Normalizar / Padronizar um carrinho de bebê numpy
Gostaria de saber qual a melhor maneira de normalizar / padronizar um numpyrecarray
é. Para deixar claro, não estou falando de uma matriz matemática, mas de uma matriz de registros que também possui p. colunas de texto (como rótulos).
a = np.genfromtxt("iris.csv", delimiter=",", dtype=None)
print a.shape
> (150,)
Como você pode ver, não posso, p. processoa[:,:-1]
como a forma é unidimensiona
O melhor que encontrei é iterar em todas as colunas:
for nam in a.dtype.names[:-1]:
col = a[nam]
a[nam] = (col - col.min()) / (col.max() - col.min())
Alguma maneira mais elegante de fazer isso? Existe algum método como "normalizar" ou "padronizar" em algum lugar?