【问题标题】:How to compare two rows in pandas (across all columns), and sum the output?如何比较熊猫中的两行(跨所有列),并对输出求和?
【发布时间】:2020-11-08 08:58:02
【问题描述】:

我有这样的数据-

    User1  User2  User3  User4  User5  User6  User7  User8
w1      1      1      1      1      0      1      1      1
w2      0      1      0      0      1      1      1      1
w3      0      0      1      1      1      1      1      1
w4      1      1      1      0      0      0      0      1
w5      1      0      1      0      1      1      1      0
w6      1      1      1      1      1      1      1      1

现在我想做的是每两周比较一次,找出所有变化为 1->0 的情况。

所以上述数据的输出应该是这样的-

    Column
w1      n/a    
w2      3   
w3      1
w4      4   
w5      2 
w6      0

【问题讨论】:

  • 我没看懂,你是在统计这个输出中变化的位置还是变化的次数?

标签: python pandas churn


【解决方案1】:

假设数据框名称是df,那么您可以通过

abs(df.diff()).sum(axis=1)

【讨论】:

    【解决方案2】:

    也可以这样:

    (df > df.shift(-1)).sum(axis=1)
    

    【讨论】:

    • 这行得通,但与我想要的那一行相比,最后的 df 上移了一行。使用 shift 来获得我想要的方式,谢谢!
    猜你喜欢
    • 2021-05-30
    • 2015-11-30
    • 1970-01-01
    • 1970-01-01
    • 2017-09-05
    • 2021-12-09
    • 2018-05-10
    • 1970-01-01
    • 2021-02-20
    相关资源
    最近更新 更多