Преобразование серии объектов в наборе данных "Черная пятница" в int с использованием anaconda - PullRequest
0 голосов
/ 31 октября 2018

Я использую данные Черной пятницы, чтобы предсказать сумму покупки.

Это мой код

    import pandas as pd
    import numpy as np 
    import matplotlib.pyplot as plt
    import sklearn 
    from sklearn.cluster import KMeans
    from  mpl_toolkits.mplot3d import Axes3D
    from sklearn.preprocessing import scale
    from sklearn.metrics import confusion_matrix,classification_report
    from sklearn import datasets
    train=pd.read_csv("C:\\Users\\User\\Documents\\data sets\\train.csv")
    test=pd.read_csv("C:\\Users\\User\\Documents\\data sets\\test.csv")
    import numpy as np
    frames=[train,test]
    data=pd.concat(frames)

И я пытаюсь преобразовать ряд объектов Возраст и Текущий город слез в целые числа путем кодирования:

    data["Age"].astype(str).astype(int)

или pd.to_numeric (данные [ "City_Category"]) данные [ "City_Category"]. astype (INT)

Но он преобразует все мои функции в объекты, и я не понимаю, почему и как это исправить?

City_Category                 object
Gender                        object
Marital_Status                object
Occupation                    object
Product_Category_1            object
Product_Category_2            object
Product_Category_3            object
Product_ID                    object
Purchase                      object
Stay_In_Current_City_Years    object
User_ID                       object
dtype: object

1 Ответ

0 голосов
/ 31 октября 2018

Хороший подход - сначала пройти набор данных.

ВОЗРАСТ : в столбце Age значения выглядят следующим образом: '0-17'. Вам необходимо изменить его перед выполнением каких-либо операций с ним.

Самый простой способ - это взять одно среднее значение, которое будет понятно для машины. Почти так:

data['Age'] = data['Age'].map({'0-17': 15,
                               '18-25': 20})

Позже вы можете нормализовать этот столбец.

Категория города : следующий столбец City_Category. Он имеет категорические данные, т.е. A, B, C. Для обработки этих данных вы можете использовать LabelEncoder из sklearn.

from sklearn.preprocessing import LabelEncoder

Выходное значение будет: 0, 1 ,2.

...