Попытка сброса Порядка ватина, поэтому, когда иннинг = 0, порядок ватин перезапускается с одного, нужно сделать это, потому что моя первоначальная формула не учитывала, что оппонент был таким же
Вот моя формула до сих пор .. .
df['Batting Order'] = df.groupby('opponent'['pa'].cumsum().mod(9).apply(lambda x: 9 if x == 0 else x)
Input
pa Batting Order inning opponent
2666 1 8 15 Toledo
2667 1 9 16 Toledo
2668 1 1 17 Toledo
2669 0 1 17 Toledo
2670 1 2 17 Toledo
2671 1 3 18 Toledo
2672 1 4 19 Toledo
2673 1 5 19 Toledo
2674 1 6 20 Toledo
2675 1 7 0 Toledo
2676 1 8 1 Toledo
2677 1 9 1 Toledo
2678 0 9 1 Toledo
2679 1 1 1 Toledo
2680 1 2 1 Toledo
2681 0 2 1 Toledo
2682 0 2 1 Toledo
2683 0 2 1 Toledo
2684 1 3 1 Toledo
2685 1 4 2 Toledo
2686 1 5 3 Toledo
2687 1 6 4 Toledo
2688 1 7 5 Toledo
2689 1 8 6 Toledo
Это вывод, который я хочу:
Output
pa Batting Order inning opponent
2666 1 8 15 Toledo
2667 1 9 16 Toledo
2668 1 1 17 Toledo
2669 0 1 17 Toledo
2670 1 2 17 Toledo
2671 1 3 18 Toledo
2672 1 4 19 Toledo
2673 1 5 19 Toledo
2674 1 6 20 Toledo
2675 1 1 0 Toledo
2676 1 2 1 Toledo
2677 1 3 1 Toledo
2678 0 3 1 Toledo
2679 1 4 1 Toledo
2680 1 5 1 Toledo
2681 0 5 1 Toledo
2682 0 5 1 Toledo
2683 0 5 1 Toledo
2684 1 6 1 Toledo
2685 1 7 2 Toledo
2686 1 8 3 Toledo
2687 1 9 4 Toledo
2688 1 1 5 Toledo
2689 1 2 6 Toledo