Среднее каждой записи из значений столбца на основе уникального значения другого столбца - PullRequest
0 голосов
/ 20 марта 2020

У меня есть файл, который выглядит следующим образом:

E1    32    45    +   Apple
E2    54    76    +   Apple
...
...
-E2   300   400   +   Apple
-E1   540   760   +   Apple  
E1    560   600   -   Orange
E2    340   440   -   Orange
...
...
-E2   30    40    -   Orange
-E1   20    7     -   Orange 

Здесь E для каждого уникального значения из последнего столбца может варьироваться от 1 до 100. И последний столбец может go до нескольких тысяч уникальных фруктов. Я хочу оценить среднее значение разности первых E (E1) по каждому уникальному значению последнего столбца.

E1 ((45-32)+(600-560))/2 = 26.5
E2 ((76-54)+(440-340))/2 = 61

Я хочу вычислить E1, E2 и E3, а также -E3, -E2, - E1, где -E1 - последняя E в каждой уникальной записи из последнего столбца, аналогично -E2 и -E3 - вторая и третья последние Es.

Я пытался с помощью groupby из pandas подойти к этой проблеме:

df1.groupby(str(line[4]))[line[2]-line[1]].mean()

Я не знаю, является ли groupby правильным подходом или нет, и мне трудно сделать al oop для этого случая. `

...