Немного озадачен здесь и надеемся, что коллектив может помочь!
Учитывая следующий 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