计算满足条件的前n行

时间:2020-05-06 12:58:44

标签: python pandas dataframe

如何计算数据框中与该行中的单元格具有相同值的前几行的数量?

给出一个数据框,例如:

In [1]: df1 = pd.DataFrame({'lkey': ['foo', 'bar', 'baz', 'foo', 'foo', 'bar', 'baz', 'foo', 'foo']})

In [2]: df1
Out[2]:

    lkey
0   foo
1   bar
2   baz
3   foo
4   foo
5   bar
6   baz
7   foo
8   foo

我想添加一列,其中包含该行的lkey中的值在数据帧的所有先前行中出现在lkey中的次数。

我的数据框的形状大约为100000 x 15。

所需的输出将产生:

In [2]: df1['lkeyCount'] = (number of times lkey appears in previous rows in lkey column)
Out[2]:

lkey    lkeyCount
0   foo 0
1   bar 0
2   baz 0
3   foo 1
4   foo 2
5   bar 1
6   baz 1
7   foo 3
8   foo 4

谢谢!

0 个答案:

没有答案