Я хочу создать столбцы для конкретной категории, основанные на соответствующей категории для некоторых из столбцов.
Я сделал это в несколько раз, (1) разделив две категории на двеотдельные фреймы данных, (2) объединение двух фреймов данных на дату (3) удаление избыточных столбцов (4) создание новых столбцов (независимая от категории) (4) удаление специфических для категории столбцов.Знаете ли вы о более эффективном способе сделать это преобразование?Мой код ниже примера ввода / вывода
Ввод:
wk start car rims color Autopilot$ Sunroof$
0 2018-09-09 tesla model x 17 black 3000 0
1 2018-09-16 tesla model x 14 yellow 3000 0
2 2018-09-23 tesla model x 13 white 3000 0
3 2018-09-09 tesla model 3 19 grey 0 2000
4 2018-09-16 tesla model 3 21 pink 0 2000
Идеальный вывод:
wk rims-mod3 rims-modx color-mod3 color-modx Auto$ roof$
0 2018-09-09 17 0 black grey 3000 2000
1 2018-09-16 14 19 yellow pink 3000 2000
2 2018-09-23 13 21 white NaN 3000 0
Мой код:
import pandas as pd
df = pd.DataFrame({'wk start': ['2018-09-09', '2018-09-16', '2018-09-23','2018-09-09', '2018-09-16'],
'car': [ 'tesla model x', 'tesla model x', 'tesla model x','tesla model 3','tesla model 3'],
'rims': [17,14,13,19,21],
'color':['black','yellow','white','grey','pink'],
'Autopilot$':[3000,3000, 3000,0,0],
'Sunroof$':[0,0,0,2000,2000]})
model3 = df[df['car']=='tesla model 3']
modelx = df[df['car']=='tesla model x']
example = model3.merge(modelx, how='outer',left_on='wk start',right_on='wk start',suffixes=('_model3', '_modelx'))
del example['car_model3']
del example['car_modelx']
example['AUTOPILOT']=example['Autopilot$_model3']+example['Autopilot$_modelx']
example['SUNROOF']=example['Sunroof$_model3']+example['Sunroof$_modelx']
del example['Autopilot$_model3']
del example['Autopilot$_modelx']
del example['Sunroof$_modelx']
del example['Sunroof$_model3']
Другие используемые ресурсы: вопрос1 , вопрос2