Сделайте значение предыдущих нескольких ролей значением строки, если строка не является нан - PullRequest
0 голосов
/ 02 октября 2018

У меня есть кадр данных, подобный приведенному ниже:

df = pd.DataFrame([np.nan]*99,columns = ['col1'])

df.loc[23] = 70
df.loc[35] = 50
df.loc[90] = 81
df.loc[98] = 3

Как мне сделать значение нового столбца (col2) равным значению предыдущих нескольких (x) строк df col1стать значением строк со значением?Например, если x = 4, строка 20-23 равна 70, строка 32-35 - 50, строка 87-90 - 81, а строка 95-98 - 3?

Спасибо!

1 Ответ

0 голосов
/ 02 октября 2018

Если отсутствуют другие значения, используйте обратное заполнение с параметром предела:

df1 = df.bfill(limit=3)
print (df1.tail(15))

    col1
84   NaN
85   NaN
86   NaN
87  81.0
88  81.0
89  81.0
90  81.0
91   NaN
92   NaN
93   NaN
94   NaN
95   3.0
96   3.0
97   3.0
98   3.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...