Home > Software engineering >  find possibilities of each type in a sliding window
find possibilities of each type in a sliding window

Time:11-14

I have a pandas dataframe and in the dataframe there is a column named "Type". like this:

Type
0 1
1 2
2 4
3 3
4 2
5 2
6 3
7 4
8 2

what i want is to find possibility of occurrence of each type in like each previous 5 rows. so for the table above we have something like this: (POx-5 is possibility of occurrence of Type x in previous 5 rows.)

Type PO1-5 PO2-5 PO3-5 PO4-5
0 1 0.2 0 0 0
1 2 0.2 0.2 0 0
2 4 0.2 0.2 0 0.2
3 3 0.2 0.2 0.2 0.2
4 2 0.2 0.4 0.2 0.2
5 2 0 0.6 0.2 0.2
6 3 0 0.4 0.4 0.2
7 4 0 0.4 0.4 0.2
8 2 0 0.6 0.2 0.2

how can I do this and add it to the dataframe? I have no clue at all how to achieve this.

CodePudding user response:

I Found the answer but just wanted to leave the question here for if anyone hit the same problem:

say we have 4 types:

for i in range(4):
    df['PO' str(i 1) '-4'] = df['Type'].rolling(5).apply(lambda v: sum(v == i 1)/4)
  • Related