Этот код демонстрирует проблему:
Код: Выделить всё
import numpy as np
import os
import pandas as pd
df = pd.DataFrame({'Make/Model': ['FORD', 'BRONCO', 'MAVERICK', 'MUSTANG', 'HONDA', 'CIVIC', 'CR-V', 'HYUNDAI', 'TUCSON', 'ELANTRA', 'TOYOTA', 'CAMERY', 'AVALON'],
'firstYear': [np.nan, 1965.0, 1970.0, 1964.0, np.nan, 1972.0, 1995.0, np.nan, 2004.0, 1990.0, np.nan, 1982.0, 2000.0],
'style': [np.nan, 'suv', 'compact', 'sport', np.nan, 'compact', 'suv', np.nan, 'suv', 'compact', np.nan, 'sedan', 'sedan'],
'number doors': [np.nan, '2, 4', '2,4 ', '2', np.nan, '2, 4', '4', np.nan, '4', '4', np.nan, '4', '4'],
'manufacturor': [np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, np.nan]})
df['manufacturor'] = np.where(df['firstYear'].shift(1).isna() & df['style'].shift(1).isna() == True ,
df['Make/Model'].shift(1), df['manufacturor'].shift(1) )
Приведенный выше код добавляет Make только в первую строку моделей.
Знаю, что я уже близко, но не знаю, как действовать.
Спасибо за внимание к этому вопросу.>