forked from team-3-iba/best_hackaton_project
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpreproc_start.py
67 lines (60 loc) · 2.9 KB
/
preproc_start.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
important = {'ABS (антиблокировочная система)',
'AUX/iPod',
'Bluetooth',
'CD/MP3 проигрыватель',
'ESP (система поддержания динамической стабильности)',
'USB',
'Автозапуск двигателя',
'Антипробуксовочная система',
'Датчик дождя',
'Дополнительные опции:',
'Иммобилайзер',
'Камера заднего вида',
'Климат-контроль',
'Кондиционер',
'Контроль мертвых зон на зеркалах',
'Круиз-контроль',
'Ксеноновые фары',
'Легкосплавные диски',
'Люк',
'Материал салона - натуральная кожа',
'Мультимедийный экран',
'Обогрев зеркал',
'Обогрев лобового стекла',
'Обогрев руля',
'Обогрев сидений',
'Панорамная крыша',
'Парктроники',
'Подушки безопасности боковые',
'Подушки безопасности задние',
'Подушки безопасности передние',
'Противотуманные фары',
'Рейлинги на крыше',
'Светодиодные фары',
'Сигнализация',
'Системы помощи',
'Управление мультимедиа с руля',
'Фаркоп',
'Цвет салона - темный',
'Штатная навигация',
'Электрорегулировка сидений',
'Электростеклоподъемники задние',
'Электростеклоподъемники передние',
'Материал салона - натуральная кожа'}
def preproc(avto):
for imp in important:
avto[imp] = avto.table.apply(lambda x: int(imp in x))
avto.cuzov = avto.cuzov.apply(lambda x: x.split()[0])
avto.fuel = avto.fuel.apply(lambda x: x.split()[0])
avto['cost'] = avto['cost'].str.replace(' ', '').astype('int')
avto['volume'] = avto['volume'].fillna('0').str.replace(' см3', '').astype('int')
avto['run'] = avto['run'].str.replace(' км', '')
miles_mask = avto['run'].str.endswith(' миль')
avto.loc[miles_mask, 'run'] = avto[miles_mask]['run'].str.replace(' миль', '').astype('int') * 1.60934
avto['run'] = avto['run'].astype('int')
avto['today_views'] = avto['show'].str.extract('\+(.+) ')
avto['show'] = avto['show'].str.extract('(.*)' + ' '*25)
avto.rename(columns={'show': 'all_views'}, inplace=True)
today_view_mask = pd.isna(avto['today_views'])
avto.loc[today_view_mask, 'today_views'] = avto[today_view_mask]['all_views']
return avto