使用 anaconda 将黑色星期五数据集中的对象系列转换为 int

Converting object series in Black Friday Dataset to int, using anaconda

我正在使用黑色星期五数据集来预测购买量。

这是我的代码

    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)

我正在尝试通过编码将 Age 和 Current city tears 对象系列转换为整数:

    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

先遍历数据集是个好方法。

AGE:在Age列中,值是这样的:'0-17'。在对其进行任何操作之前,您需要对其进行修改。

最简单的方法是取一个机器可以理解的中间单值。几乎是这样的:

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

稍后,您可以规范化此列。

城市类别:下一栏是City_Category。它有分类数据,即 A, B, C。要处理此数据,您可以使用 sklearn 中的 LabelEncoder

from sklearn.preprocessing import LabelEncoder

输出值将是:0, 1 ,2