尝试为对方的每一个更改重置列

2024-09-28 23:39:01 发布

您现在位置:Python中文网/ 问答频道 /正文

有一个击球顺序在这里,并试图重置它的基础上改变对手

例如:当对手从科罗拉多州改为UTSA时,击球顺序需要重新设置为1

df['Batting Order'] = df['pa'].cumsum().mod(9).apply(lambda x: 9 if x == 0 else x) 

                    pa  Batting Order        opponent
Abilene Christian 0    1              1  Colorado State
                1    1              2  Colorado State
                2    1              3  Colorado State
                3    1              4  Colorado State
                4    1              5  Colorado State
                5    1              6  Colorado State
                6    1              7  Colorado State
                7    1              8  Colorado State
                8    1              9  Colorado State
                9    1              1  Colorado State
                10   1              2  Colorado State
                11   1              3  Colorado State
                12   1              4  Colorado State
                13   1              5  Colorado State
                14   1              6  Colorado State
                15   1              7  Colorado State
                16   1              8  Colorado State
                17   1              9  Colorado State
                18   1              1  Colorado State
                19   1              2  Colorado State
                20   1              3  Colorado State
                21   0              3  Colorado State
                22   1              4  Colorado State
                23   1              5            UTSA
                24   1              6            UTSA
                25   1              7            UTSA
                26   0              7            UTSA
                27   1              8            UTSA
                28   1              9            UTSA
                29   1              1            UTSA
                30   0              1            UTSA
                31   1              2            UTSA
                32   0              2            UTSA
                33   1              3            UTSA
                34   0              3            UTSA

Tags: lambdamoddfif顺序order基础重置
1条回答
网友
1楼 · 发布于 2024-09-28 23:39:01
def reset(df):
    grouping = df.groupby('Opponent')
    teams = grouping.groups.keys()
    batting_Order = []
    for team in teams:
        subset = grouping.get_group(team)
        for i in range(len(subset)):
            batting_Order.append(i)
    df['Batting Order'] = batting_Order
    return df

相关问题 更多 >