【发布时间】:2015-02-14 02:32:03
【问题描述】:
给定
A = pd.DataFrame([[1, 5, -2], [2, 4, -4], [3, 3, -1], [4, 2, 2], [5, 1, 4]],
columns=['A', 'B', 'C'], index=[1, 2, 3, 4, 5])
假设您要滚动计算最后 3 个观测值中 C 列中小于 0 的观测值数量。在 excel 中,您可以使用条件在指定窗口上滑动“countif”计算,所需的结果是:
D = # of x < 0 on a rolling window basis of size 3
A
Out[79]:
A B C D
1 1 5 -2
2 2 4 -4
3 3 3 -1 3
4 4 2 2 2
5 5 1 4 1
如何使用 Pandas 以高效(Pythonic)的方式做到这一点?
谢谢
【问题讨论】: