это набор данных .csv-файл или кадр данных. Этот NA - это «NaN» или строка?
import pandas as pd
import numpy as np
df=pd.read_csv('your dataset',sep=' ')
df.replace('NA',np.nan)
df.fillna(method='ffill',inplace=True)
Вы упомянули что-то о среднем из 3-х значений. Выше просто заполняет последнее наблюдение перед началом NaN. Часто это хороший способ прогнозирования (в некоторых случаях лучше, чем принимать средства, если настойчивость важна)
ind = df['NET_SALES'].index[df['NET_SALES'].apply(np.isnan)]
Meanof3 = df.iloc[ind[0]-3:ind[0]].mean(axis=1,skipna=True)
df.replace('NA',Meanof3)
Возможно, ответ можно обобщить и улучшить, если известна дополнительная информация о наборе данных, например, если вы всегда хотите получить среднее значение за последние 3 измерения перед любым NA. Вышеприведенное позволит вам проверить индексы, которые являются NaN, а затем принять среднее значение 3 раньше, игнорируя при этом NaN