Допустим, у нас есть фрейм данных
data = {'Column a': [ 1 , 2 , 3 , 4 , 5],
'Column b': [ 3 , 2 , 2 , 3 , 4],
'Column 1': [ 3 , 2 , 1 , 1 , 3],
'Column 2': [ 4 , 2 , 1 , 2 , 2],
'Column 3': [ 1 , '', '', 2 , 4],
'Column 4': [ '', '', '', '', 1]}
df = pd.DataFrame(data=data)
Столбец a - это идентификатор, столбец b - это количество столбцов для идентификатора. Столбец 1-4 принимает некоторые значения для каждого идентификатора.
Мне нужно создать al oop, который просматривает каждый столбец от столбца 4 до столбца 1. Если первое встречное число - «1», мне нужно, чтобы оно увеличивалось на единицу.
coa cob co1 co2 co3 co4
1 3 3 4 1
2 2 2 2
3 2 1 1
4 3 1 2 2
5 4 3 2 4 1
- Итак, для первой строки он будет считать 1, потому что последний столбец для этой строки имеет 1.
- Для второй строки он не будет подсчитывать , поскольку нет 1.
- Для третьей строки будет засчитана только одна 1, потому что учитывается только первая 1 (слева).
- Для четвертой строки , он ничего не будет считать, потому что 1 не находится в последней строке.
- Для последней строки будет засчитано 1, потому что в
последней строке стоит 1.
Итак, в целом я хочу, чтобы это вернуло 3.
Моя проблема связана с функцией цикла и с тем, как меняются столбцы для каждой строки, я знаю, как это сделать, только если все значения были в столбце 4.