Pandas:将特定列的值拆分为新列,并在所有新创建的列中查找某个值的引用

2024-05-23 15:29:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个栏目叫做“家庭”和“严重性”。我想拆分“严重性”列中的唯一值,并在新创建的列中查找列“家族”的出现情况

初始数据帧:

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

Tags: 数据df家庭情况familyddlowaa
1条回答
网友
1楼 · 发布于 2024-05-23 15:29:47

使用^{}使用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

从文档:

margins : bool, default False Add row/column margins (subtotals).

margins_name : str, default ‘All’ Name of the row/column that will contain the totals when margins is True.

相关问题 更多 >