使用python如何按顺序转换数字数据?

使用python如何按顺序转换数字数据?,python,scikit-learn,ordinal,Python,Scikit Learn,Ordinal,数据: 我想把这个数字数据转换成序数 示例: 如果数据值在60到69.9之间,那么它将显示1 如果数据值在70到79.9之间,那么它将显示2 如果数据值在80到89.9之间,那么它将显示3 如果数据值在90到99.9之间,那么它将显示4。等等 我知道如何使用binaryX=binarizer.transform(X) 但我不知道如何将数字间隔值转换为单个序数值。直接除以10减去偏移量怎么样 118.6 109.7 126.7 107.8 113.9 109.7 109.7 98.2 112.3

数据:

我想把这个数字数据转换成序数

示例:
如果数据值在60到69.9之间,那么它将显示1

如果数据值在70到79.9之间,那么它将显示2

如果数据值在80到89.9之间,那么它将显示3

如果数据值在90到99.9之间,那么它将显示4。等等

我知道如何使用
binaryX=binarizer.transform(X)

但我不知道如何将数字间隔值转换为单个序数值。

直接除以10减去偏移量怎么样

118.6
109.7
126.7
107.8
113.9
109.7
109.7
98.2
112.3
153.7
157.8
85
126.7
125.1
155.4
138.5
154.6
189.9
120.6
101.6
128.7
138.5
210.8
124.4
189.8
122.5
161.7
188.6
229.1
168.7
233.7
137.5
126.6
244.4
141.9
227.5
183
177.6
244.4
95.1
116.4
75.9
75.3
109.8
117.1
75.9
109.8
71.2
71.3
89.6
93.3
84.7
85
82.9
145.3
107.7
84.2
96.7
89.8
86.2
85
89.6
67.5
64.9
48.1
54.9
56.1
60.6
51
44.6
64.3
57.6
66.2
69
60
70.2
65.4
60.1
49.4
61.4
62.8
78.8
70.3
82.7
68.6
或者,如果您正在使用NumPy

data = ['60', '69.9', '70', '73', '80']
[int((float(a) // 10) - 5) for a in data]                          # [1, 1, 2, 2, 3]

用10除,然后减去偏移量怎么样

118.6
109.7
126.7
107.8
113.9
109.7
109.7
98.2
112.3
153.7
157.8
85
126.7
125.1
155.4
138.5
154.6
189.9
120.6
101.6
128.7
138.5
210.8
124.4
189.8
122.5
161.7
188.6
229.1
168.7
233.7
137.5
126.6
244.4
141.9
227.5
183
177.6
244.4
95.1
116.4
75.9
75.3
109.8
117.1
75.9
109.8
71.2
71.3
89.6
93.3
84.7
85
82.9
145.3
107.7
84.2
96.7
89.8
86.2
85
89.6
67.5
64.9
48.1
54.9
56.1
60.6
51
44.6
64.3
57.6
66.2
69
60
70.2
65.4
60.1
49.4
61.4
62.8
78.8
70.3
82.7
68.6
或者,如果您正在使用NumPy

data = ['60', '69.9', '70', '73', '80']
[int((float(a) // 10) - 5) for a in data]                          # [1, 1, 2, 2, 3]

使用列表上的映射函数:data.map(yourTransformFunction)@StefanPochmann,oops它是89.9和99.9打字错误。sorry使用列表上的映射函数:data.map(yourTransformFunction)@StefanPochmann,oops它是89.9和99.9打字错误。sorry获取错误:[(a//10)-5对于输入数据]类型错误:不支持的操作数类型对于//:'str'和'int'使用
float()
将数据强制转换为float。请参阅我的编辑。当我运行第一个时,我得到>>>[int((float(a)//10)-5)作为输入数据输出:[6]>>>[int((float(a)//10)-5)作为输入数据]#[1,1,[6]>>>在没有实际测试数据的情况下很难复制。我得到错误:[(a//10)-5作为输入数据]类型错误:不支持的操作数类型对于//:'str'和'int'使用
float()
将数据强制转换为float。请参阅我的编辑。当我运行第一个时,对于in-data输出,我会得到>>[int((float(a)//10)-5][6]>>[int((float(a)//10)-5]#[1,1,[6]>>如果没有一些实际的测试数据,很难复制。