Как нормализовать или стандартизировать определенные или выбранные функции набора данных в Python - PullRequest
1 голос
/ 26 июня 2019

У меня есть данные, и имя фрейма данных - Таблица, Таблица содержит 15 функций, и я хочу нормализовать только 3 функции, которые представляют собой числовые данные, названия этих функций - «скорость», «стоимость» и «Итого».cost'.Please, как мне это исправить?

Я попытался извлечь необходимые функции, отфильтровав их с помощью Table.loc [:, ['rate', cost ', total cost'] и передав в column_trans

с сайта sklearn.com. Импорт данных ColumnTransformer

из файла sklearn.preprocessing import StandarScaler

column_trans = ColumnTransformer (

[('scaler', StandardScaler(),Table.loc[:,['rate','cost','Totalcost']]

remainder='passthrough') 

column_trans.fit_transform (X)

Я ожидал получить значения от 0 до 1. Для нормализованных объектов.

Но я получил следующее сообщение об ошибке.

Файл "", строка 5 remainder = 'passthrough') ^ SyntaxError: неверный синтаксис

Ответы [ 2 ]

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

умный вклад @ Parthasarathy, я заметил, что одна из функций имеет значения NAN и еще одна особенность является целым числом, поэтому я преобразовал значения Nan в 0, а также применил astype к целочисленной функции. Я применил код ниже:

из sklearn.preprocessing import normalize

непрерывный_колонки = ['стоимость', 'стоимость', 'общая стоимость']

непрерывный_данные = телефон [непрерывные_колонки]

непрерывные_данные ['скорость'] = непрерывные_данные ['скорость']. Astype (float)

normalized_data = normalize (непрерывные_данные)

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

Вы можете попробовать это

from sklearn.preprocessing import normalize

continuous_columns = ['rate','cost','Totalcost']
continuous_data= Table.loc[:, continuous_columns]
continuous_data['rate']= continuous_data['rate'].astype(float)
continuous_data['cost']= continuous_data['cost'].astype(float)
continuous_data['Totalcost']= continuous_data['Totalcost'].astype(float)
normalized_data = normalize(continuous_data)

normalized_data_df =pd.DataFrame(normalized_data , columns=continuous_columns) 
Table = Table.drop(continuous_columns, axis=1)
Final_data = pd.concat([Table, normalized_data_df ], axis=1)

Теперь Final_data содержит то, что вы ищете.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...