Работа с кадрами - PullRequest
       1

Работа с кадрами

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

У меня есть датафрейм с разными нулями и значениями, отличными от нуля Для каждой строки я хочу применить следующее условие:

Если значение в данной ячейке отличается от нуля И значение в ячейке справа равно нулю, поместите то же значение в ячейку справа.

Пример будет следующим:

Это одна из строк в кадре данных:

[0,0,0,20,0,0,0,33,3,0,5,0,0,0,0,0]

Функция преобразует его в следующее:

[0,0,0,20,20,20,20,33,3,3,5,5,5,5,5,5]

Я хочу применить это ко всему фрейму данных.

Ваша помощь будет высоко ценится!

Спасибо.

1 Ответ

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

Поскольку вы подразумеваете, что используете панды, я бы использовал немного встроенных мышц в библиотеке.

import pandas as pd
import numpy as np

s = pd.Series([0,0,0,20,0,0,0,33,3,0,5,0,0,0,0,0])
s.replace(0, np.NaN, inplace=True)
s = s.ffill()

Выход:

0      NaN
1      NaN
2      NaN
3     20.0
4     20.0
5     20.0
6     20.0
7     33.0
8      3.0
9      3.0
10     5.0
11     5.0
12     5.0
13     5.0
14     5.0
15     5.0
dtype: float64
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...