Я пытаюсь получить среднее значение столбцов 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 для агрегирования.