Python 计算值在一系列中的更改次数
以系列为例:Python 计算值在一系列中的更改次数,python,python-3.x,pandas,Python,Python 3.x,Pandas,以系列为例: s = [1, -1, 1, 1, 1, -1] 什么是计算此类系列变化中的数值次数的最省时的方法?在这个例子中,答案是3(从1到-1,回到1,再回到-1)我将使用numpy (np.diff(s)!=0).sum() Out[497]: 3 我会用这个,如果错了请纠正我……:) 使用numpy的替代解决方案是 np.count_nonzero(np.diff(s)) 本机Python解决方案是 sum(s[i - 1] != s[i] for i in range(1, l
s = [1, -1, 1, 1, 1, -1]
什么是计算此类系列变化中的数值次数的最省时的方法?在这个例子中,答案是3(从1到-1,回到1,再回到-1)我将使用
numpy
(np.diff(s)!=0).sum()
Out[497]: 3
我会用这个,如果错了请纠正我……:)
使用
numpy
的替代解决方案是
np.count_nonzero(np.diff(s))
本机Python解决方案是
sum(s[i - 1] != s[i] for i in range(1, len(s)))
如此简洁完美。再次感谢
sum(s[i - 1] != s[i] for i in range(1, len(s)))