Я начал с необработанных данных, которые выглядят так:
Case Final Pre Post
1 A Z X
Z V
2 B
Y
3 A Z Y
Z U
W
4 C W
Z
5 C X Z
X
Z
, затем сделал прямую заливку:
df['Case'] = df['Case'].ffill()
примерно так:
Case Final Pre Post
1 A Z X
1 Z NaN V
2 B NaN NaN
2 Y NaN NaN
3 A Z Y
3 Z NaN U
3 W NaN NaN
4 C W NaN
4 Z NaN NaN
5 C X Z
5 X NaN NaN
5 Z NaN NaN
ЧтоЯ хочу, чтобы подсчитать количество случаев в каждом столбце, где столбец не является нулевым:
Case: 5
Final: 5
Pre: 4
Post: 3
Выходные Объяснение:
1- Группировать по первому столбцуCase
.
2- Даже если одно значение столбца не равно нулю (включая Case
сам столбец), тогда count ++ (увеличивает ненулевое значение на 1).