【问题标题】:iterate through the rows of a pandas df to generate new df (depending on conditions)遍历 pandas df 的行以生成新的 df(取决于条件)
【发布时间】:2018-08-01 14:51:09
【问题描述】:

我有一个羽毛球成绩的 df。一个团队的每组比赛都在行上,每个点的得分在列上,如下所示:

0 0 1 1 2 3 4

0 1 2 3 3 4 4

我只想在得分时获得O和1,如下所示:(分析分数中是否有任何模式):

0 0 1 0 1 1 1

0 1 1 1 0 1 0

我正在考虑使用 df.itertuples() 和 iloc 和条件将 1 归因于新数据帧,如果下一个分数 = 分数 +1 或 0 如果下一个分数 = 分数 + 1

但我不知道如何遍历生成的元组以及如何在好的位置生成我的新 df 和 0 和 1。

希望这很清楚,感谢您的帮助。 哦还有,在那之后分析模式有什么建议吗?

【问题讨论】:

    标签: python pandas dataframe iteration conditional-statements


    【解决方案1】:

    你只需要diff(如果你需要转换回来试试cumsum)

    df.diff(axis=1).fillna(0).astype(int)
    Out[1382]: 
       1  2  3  4  5  6  7
    0  0  0  1  0  1  1  1
    1  0  1  1  1  0  1  0
    

    【讨论】:

    • 哇很干净!非常感谢:)
    猜你喜欢
    • 1970-01-01
    • 2021-07-05
    • 2014-10-28
    • 2021-09-07
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    • 2023-01-31
    • 2022-01-15
    相关资源
    最近更新 更多