处理数据以进行分类和枚举

时间:2019-05-13 21:45:43

标签: python pandas type-conversion enumeration categorical-data

我是Python新手。我有如下数据框:

d = {'Categorical': ['A','B','C','A'], 
      'Order':      ['First','Second', 'First','Second'], 
      'Numerical':  [20,22,21,25]} 
df = pd.DataFrame(data=d)

我应该处理此框架以获取以下信息:

Categorical Order   Numerical
1           1       20
2           2       22
3           1       21
1           2       25

这里的窍门如下:

Python应该理解Categorical列是类别的。 Order列是顺序很重要的枚举。

我应该在这里考虑dtype进行哪种编码?

1 个答案:

答案 0 :(得分:0)

您正在寻找方法 declare @temptable table ( field1 varchar(50), field2 varchar(50), field3 varchar(50), field4 varchar(30), field5 numeric(20, 0) ) insert into @temptable execute sp_myproc '2017-01-13'

首先,您需要一本字典,其中将类别“翻译”为值:

.map()

然后只需在列上调用地图

order_dict = {'First':1,'Second':2}

df['Order_value'] = df.Order.map(order_dict) Out[6]: Categorical Order Numerical Order_value 0 A First 20 1 1 B Second 22 2 2 C First 21 1 3 A Second 25 2 列中,您可以使用'Categorical'

ord()