.cumsum()令人费解的效果

时间:2018-05-08 14:17:37

标签: python pandas

正在审核accepted answer of another question

示范中让我困惑的部分是

In [37]: (sign != sign.shift()).cumsum()
Out[37]: 
0    1
1    1
2    2
3    2
4    2
5    3
6    3
Name: values, dtype: int64

出现每次(sign!= sign.shift())给出True结果时,cumsum()返回一个递增的数字,并一直返回该数字,直到它遇到了另一个真实。

查看sparse docs for .cumsum,我不知道该行为是如何/为何发生的,无论多么有用!

我的唯一猜测就是cumsum()将True视为1而False视为0.看起来不像是一个pythonic的事情 - 听起来像来自C的东西。

有人可以解释为什么会出现这种影响吗?

0 个答案:

没有答案