Найти среднее значение каждого столбца в кадре данных, сгруппированного по метке, исключая одну метку - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть датафрейм, подобный представленному ниже:

    CPU Memory Disk  Label
0    21     28   29      0
1    46     53   55      1
2    48     45   49      2
3    48     52   50      3
4    51     54   55      4
5    45     50   56      5
6    50     83   44     -1 

То, что я хочу, это grouby и найти среднее значение для каждого ярлыка.Пока что у меня есть dataset.groupby('Label')['CPU', 'Memory', 'Disk'].mean(), который прекрасно работает и получает результаты следующим образом:

Label           CPU     Memory       Disk 
    -1     46.441176  53.882353  54.176471
     0     48.500000  58.500000  60.750000
     1     45.000000  51.000000  60.000000
     2     54.000000  49.000000  56.000000
     3     55.000000  71.500000  67.500000
     4     53.000000  70.000000  71.000000
     5     21.333333  30.000000  30.666667

Единственное, что я пока не нашел, - это как исключить все, что помечено как -1.Есть ли способ сделать это?

1 Ответ

0 голосов
/ 13 февраля 2019

Вы можете отфильтровать кадр данных перед группировкой:

# Exclude rows with Label=-1
dataset = dataset.loc[dataset['Label'] != -1]
# Group by on filtered result
dataset.groupby('Label')['CPU', 'Memory', 'Disk'].mean()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...