我是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进行哪种编码?
答案 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()