Pandas: разделить указанные значения столбцов c на новые столбцы и найти вхождения значений во всех вновь создаваемых столбцах. - PullRequest
2 голосов
/ 06 января 2020

У меня есть две колонки, называемые «семейство» и «серьезность». Я хотел бы разбить уникальные значения в столбце «серьезность» и найти вхождения столбца «семейство» во вновь создаваемых столбцах.

Исходный кадр данных:

df

family severity
AA     High
BB     Critical
CC     Medium
DD     Low
AA     Low
CC     High

Вывод

df_output

family Critical High Medium Low Total
AA       0       1     0     1    2
BB       1       0     0     0    1
CC       0       1     1     0    2
DD       0       0     0     1    1
Total    1       2     1     2    6

1 Ответ

4 голосов
/ 06 января 2020

Использование crosstab с использованием margins=True:

final=pd.crosstab(df['family'],df['severity'],
       margins=True,margins_name='Total').rename_axis(None,axis=1)
print(final)

        Critical  High  Low  Medium  Total
family                                    
AA             0     1    1       0      2
BB             1     0    0       0      1
CC             0     1    0       1      2
DD             0     0    1       0      1
Total          1     2    2       1      6

Из документов:

поля: bool, по умолчанию False Добавить поля строки / столбца (промежуточные итоги).

margins_name: str, по умолчанию 'All' Имя строки / столбца, который будет содержать итоги, если поля имеют значение True.

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