【发布时间】:2016-10-18 18:14:49
【问题描述】:
我有一个pandas DataFrame,其中一个布尔列按另一列排序,需要计算布尔列的反向累积和,即从当前行到底部的真值数量。
例子
In [13]: df = pd.DataFrame({'A': [True] * 3 + [False] * 5, 'B': np.random.rand(8) })
In [15]: df = df.sort_values('B')
In [16]: df
Out[16]:
A B
6 False 0.037710
2 True 0.315414
4 False 0.332480
7 False 0.445505
3 False 0.580156
1 True 0.741551
5 False 0.796944
0 True 0.817563
我需要一些可以给我一个新列的值
3
3
2
2
2
2
1
1
也就是说,对于每一行,它应该在该行和下面的行中包含一定数量的 True 值。
我使用.iloc[::-1] 尝试了各种方法,但结果并不理想。
我似乎遗漏了一些明显的信息。我昨天才开始使用 Pandas。
【问题讨论】:
标签: python pandas dataframe reverse