So I've created a dataframe called celtics
and the last column is called 'Change in W/L%'
and is right now filled with all 0s.
I want to calculate the change in Win-Loss Percentage (see 'W/L%'
column) if the coach's name in one row of Coaches
is different from the name of the coach right underneath that row. I have written this loop to try and execute this program:
i = 0
while i < len(celtics) - 1:
if (celtics["Coaches"].loc[i].split("("))[0] != (celtics["Coaches"].loc[i 1].split("("))[0]:
celtics["Change in W/L%"].loc[i] = celtics["W/L%"].loc[i] - celtics["W/L%"].loc[i 1]
i = i 1
i = i 1
So basically, if the name of the coach in Row i
is different than the name of the coach in Row i 1
, the change in W/L%
between the two rows and is added to Row i
of the Change in W/L%
column. However, when I execute the code, the dataframe ends up looking like this.
For example, Row 1 should just have 0
in the Change in W/L%
column; instead, it has been replaced by the difference in W/L% between Row 1 and Row 2, even though the coach's name is the same in both Rows. Could anyone help me resolve this issue? Thanks!
CodePudding user response:
Check out this solution from this question here on StackOverflow.