Значение Python Pandas из предыдущей строки – сдвигPython

Программы на Python
Anonymous
Значение Python Pandas из предыдущей строки – сдвиг

Сообщение Anonymous »

Я получил список от пользователя, который необходимо переформатировать. Необходимо извлечь данные из предыдущих строк.
Этот код демонстрирует проблему:

Код: Выделить всё

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/Model содержит два типа данных, необходимо добавить Make в строки модели.
Приведенный выше код добавляет Make только в первую строку моделей.
Знаю, что я уже близко, но не знаю, как действовать.
Спасибо за внимание к этому вопросу.>

Вернуться в «Python»