У меня есть ситуация, когда я хочу применить объект StandardScaler для sklearn к одному столбцу моего информационного кадра. Код ниже:
import pandas as pd
from sklearn.preprocessing import StandardScaler
df = pd.DataFrame([(1,2,3), (2,3,4), (3,4,5)], columns=['a','b','c'])
scaler = StandardScaler().fit(df['c'].values.reshape(-1,1))
df['d'] = df['c'].apply(scaler.transform)
df
Когда я масштабирую столбец c и выводу результат в столбец d, значения в d выглядят как [[-1.224744871391589]]
с формой (1,1)
Я бы ожидал, что выходное значение будет числовым, а не списком, как показано выше. Конечно, я могу обойти это, делая что-то вроде df['d'] = df['d'].apply(lambda x: x[0][0])
, но если не нужно, я хочу избежать таких дополнительных осложнений.
Я неправильно использую объект масштабирования или это единственный способ обойти его? Заранее спасибо!