посчитать и рассчитать процент каждого столбца по порогу в Python - PullRequest
0 голосов
/ 30 августа 2018

Если у меня есть следующий фрейм данных:

studentId   sex     history    english    math    biology
    01      male       75         90       85        60
    02     female      85         80       95        70
    03      male       55         60       78        86
    04      male       90         89       76        80  

Я хочу получить новую таблицу, показывающую процентное содержание каждого предмета, превышающее пороговое значение 80 (включая 80). Например, по истории два студента имеют более 80 баллов, таким образом, процент истории составляет 2/4 = 50%. Может ли кто-нибудь помочь мне сделать это с Python? Спасибо.

history        50%
english        75% 
math           50%
biology        50%

1 Ответ

0 голосов
/ 30 августа 2018

Использование:

s = df.iloc[:, 2:].ge(80).mean().mul(100)
print (s)
history    50.0
english    75.0
math       50.0
biology    50.0
dtype: float64

Объяснение

Сначала выберите только необходимые столбцы по позициям на DataFrame.iloc:

print (df.iloc[:, 2:])
   history  english  math  biology
0       75       90    85       60
1       85       80    95       70
2       55       60    78       86
3       90       89    76       80

Затем сравните на DataFrame.ge (>=):

print (df.iloc[:, 2:].ge(80))
   history  english   math  biology
0    False     True   True    False
1     True     True   True    False
2    False    False  False     True
3     True     True  False     True

И получите mean с кратным на 100 на DataFrame.mul:

print (df.iloc[:, 2:].ge(80).mean().mul(100))
history    50.0
english    75.0
math       50.0
biology    50.0
dtype: float64
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...