【问题标题】:How to skip rows in pandas dataframe iteration如何在熊猫数据框迭代中跳过行
【发布时间】:2021-10-06 15:24:34
【问题描述】:

所以我创建了一个名为celticsdataframe,最后一列名为'Change in W/L%',现在全为0。

如果Coaches 的一行中的教练姓名与该行下方的教练姓名不同,我想计算输赢百分比的变化(请参阅'W/L%' 列)。我写了这个循环来尝试执行这个程序:

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

所以基本上,如果i 行中的教练姓名与i+1 行中的教练姓名不同,则两行之间W/L% 的变化并添加到iChange in W/L% 列。但是,当我执行代码时,数据框以 looking like this 结束。

例如,第 1 行的 Change in W/L% 列中应该只有 0;相反,它已被第 1 行和第 2 行之间的 W/L% 差异所取代,即使教练的姓名在两行中相同。谁能帮我解决这个问题?谢谢!

【问题讨论】:

  • python 中还有 continue 命令,它可以跳到 for/while 循环的下一次迭代。您可以这样做:如果 i%2== 0(或 1 跳过偶数行):继续。

标签: python pandas dataframe while-loop jupyter-notebook


【解决方案1】:

从 StackOverflow 上的这个问题查看这个解决方案。

Skip rows while looping over data frame Pandas

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-17
    • 2015-12-09
    • 2019-03-15
    • 2021-09-17
    • 1970-01-01
    • 2021-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多