Pandas DataFrame - Как подсчитывать последовательные значения в строках между столбцами, игнорируя NaN - PullRequest
1 голос
/ 24 марта 2020

Немного озадачен здесь и надеемся, что коллектив может помочь!

Учитывая следующий DataFrame:

import numpy as np
import pandas as pd
df = pd.DataFrame({
    'machine': ['A','B','C','D','E'],
    'test1': [1, 1, 0, np.nan, np.nan],
    'test2': [0, 0, 1, 1, np.nan],
    'test3': [1, 0, 1, np.nan, 0],
    'test4': [1, 1, np.nan, 1, 1],
    'test5': [1, 1, np.nan, 0, 0]
    })

Представьте, что 1 - это проход, а 0 - неудача, NaN означает: машина не прошла тестирование

Я хотел бы добавить два новых столбца в конец:

Первый - Максимальное количество последовательных значений "1" найдено, игнорирование NaNs (NaN! = 0 , они просто игнорируются и позволяют последовательным значениям «1» проходить через них. Ожидаемый результат:

max-cons-pass
3
2
2
2 (note how this ignores the NaN in-between the 1's)
1

Второе - мне бы хотелось, чтобы текущее количество последовательных значений «1» начиналось с последнего столбца ( test5 в данном случае) и возвращаясь назад, снова игнорируя NaN. Ожидаемые результаты:

cur-cons-pass
3
2
2 (note how this ignores the NaNs in test4 and test5)
0
0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...