Нахождение среднего для группы строк с одинаковым строковым значением - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь получить среднее значение столбцов D10, D50, D90, которые имеют одинаковую строку [-8, -2] в «Sample_Name». Это: P1_SUP , P1_0.2 , P1_0.4 и т. Д.

    D10     D50     D90     Sample_Name
1   4.46    19.81   45.32   TIGR01_P1_SUP_1
2   2.72    14.22   38.41   TIGR01_P1_SUP_1
3   2.3     12.05   27.58   TIGR01_P1_SUP_1
4   6.21    19.81   45.32   TIGR01_P1_SUP_2
5   3.78    16.78   32.55   TIGR01_P1_SUP_2
6   3.2     14.22   32.55   TIGR01_P1_0.2_1
7   2.72    12.05   27.58   TIGR01_P1_0.2_1
8   5.27    19.81   38.41   TIGR01_P1_0.2_2
9   3.78    14.22   32.55   TIGR01_P1_0.2_2
10  6.21    23.37   53.48   TIGR01_P1_0.4_1
.    .        .       .            .
.    .        .       .            .
.    .        .       .            .

expected output:

    Av_D10  Av_D50  Av_D90  Sample_Name
1    3.89   16.53   37.84    P1_SUP
2    3.74   15.07   32.77    P1_0.2
3    6.21   23.37   53.48    P1_0.4
.    .        .       .            .
.    .        .       .            .
.    .        .       .            .

Для этого я пробовал использовать pandas.Series.str с groupby.

new_df = df.groupby(df["Sample_Name"].str[-8:-2]).mean()
print(new_df)

, но выдает ошибку:

DataError: нет типов numeri c для агрегирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...