【发布时间】:2019-08-13 05:40:41
【问题描述】:
我有一个这样的系列:
s = pd.Series([0, 0, 0, 1, 2, 3])
s
Out[00]:
0 0
1 0
2 0
3 1
4 2
5 0
dtype: int64
我想计算这个系列中开头和结尾零的数量。所以在这种情况下,我应该得到 3 作为开始,因为在第一个非零数字之前有 3 个零,而 1 用于尾随零,因为在最后一个非零之后的系列尾部有一个零。
到目前为止我做了什么
到目前为止,我的解决方案是使用累积和
sum(s.cumsum() == 0) # begenning
np.sum(np.cumsum(s.values[::-1]) == 0) # trailing
但这对于非常大的系列来说非常慢,尤其是尾随零计算,我需要一个替代方案。
【问题讨论】: