我正在使用python中的神经网络。我有一个数据集,其中包括数字和分类变量。我的目标是将所有分类变量更改为一些数值。例如:
4 5 sep fri 94.3 85.1 692.3 15.9 17.7 37 3.6 0 0
5 4 mar fri 91.7 33.3 77.5 9 15.6 25 6.3 0 0
5 4 aug tue 88.8 147.3 614.5 9 17.3 43 4.5 0 0
正如您所看到的,月份名称和工作日名称是明确的。我想要的是:
4 5 9 5 94.3 85.1 692.3 15.9 17.7 37 3.6 0 0
5 4 3 5 91.7 33.3 77.5 9 15.6 25 6.3 0 0
5 4 8 2 88.8 147.3 614.5 9 17.3 43 4.5 0 0
为了完成任务,我想我必须使用map()
函数。
month_mapping = {'jan': 1, 'feb': 2, 'mar': 3, 'apr': 4, 'may': 5,
'jun': 6, 'jul': 7, 'aug': 8, 'sep': 9, 'oct': 10, 'nov': 11, 'dec': 12}
day_mapping = {'mon': 1, 'tue': 2, 'wed': 3,
'thu': 4, 'fri': 5, 'sat': 6, 'sun': 7}
#month column of the array
print(data[:, 2])
test = map(month_mapping, data[:, 2])
print(test)
但在map()
函数中,它崩溃了。我怎么能这样做?
答案 0 :(得分:1)
如果你必须使用map功能,你可以这样做:
months = ['jan', 'feb', 'marc'] #all months
mapped_month = list(map(lambda x: months.index(x), data[:, 2]))
同样地,你会对日子做同样的事情。