Кадр данных Pandas – сохраняйте значения, находящиеся на определенном расстоянии друг от другаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Кадр данных Pandas – сохраняйте значения, находящиеся на определенном расстоянии друг от друга

Сообщение Anonymous »

У меня есть столбец из 0 и 1. Я хочу сохранять единицы в выходном столбце только в том случае, если они находятся на расстоянии не менее 4 строк друг от друга.
Обратите внимание, что простое выполнение diff() не является решением, поскольку это устранит слишком много 1< /код>с. Вот пример:

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

df = pd.DataFrame.from_dict({'ix':list(range(12)), 'in':[1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1]})
df['out'] = [1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0] # desred output

ix  in  out
0    0   1    1
1    1   0    0
2    2   0    0
3    3   1    0  # this 1 needs to become 0
4    4   1    1  # we keep this 1, because the previously kept one is sufficiently far
5    5   0    0
6    6   1    0
7    7   0    0
8    8   1    1
9    9   0    0
10  10   0    0
11  11   1    0
Интуитивно кажется, что это должно быть решено с помощью некоторой комбинации группировки, diff и cumsum(), но я не смог в этом разобраться .

Подробнее здесь: https://stackoverflow.com/questions/786 ... rows-apart
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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