如何计算pandas中状态变化的次数?[英] how to count the number of state change in pandas?

本文是小编为大家收集整理的关于如何计算pandas中状态变化的次数?的处理方法,想解了如何计算pandas中状态变化的次数?的问题怎么解决?如何计算pandas中状态变化的次数?问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我有下面的数据框有 0-1 列 .. 我想计算每列 0->1,1->0 的数量.在下面的数据框中'a' 列状态变化数为 6,'b' 状态变化数为 3, 'c' 状态变化数是 2 .. 实际上我不知道如何熊猫中的代码.

number a b c
1      0 0 0
2      1 0 1
3      0 1 1
4      1 1 1
5      0 0 0
6      1 0 0
7      0 1 0

实际上我对 pandas 没有任何想法.因为最近只使用了 r.但现在我必须使用 python pandas.所以有点困难情况有人可以帮忙吗?提前致谢 !

解决方案

使用rolling 并比较每个值,然后按 sum 计算所有 True 值:

df = df[['a','b','c']].rolling(2).apply(lambda x: x[0] != x[-1], raw=True).sum().astype(int)
a    6
b    3
c    2
dtype: int64

本文地址:https://www.itbaoku.cn/post/1728119.html