Skip to main content
 首页 » 编程设计

python之将多列值的出现次数汇总为 Pandas 数据框

2025年05月04日17youxin

考虑到我有一个具有以下结构的数据框:

    Symbol   CS 
0     A1    MSI 
1     A2    MSI 
2     A3    GS 
3     A2    EBV 
4     A2    CIN 
5     A1    GS     
6     A2    MSI 
... 

我想要一个数据框,将 CS 列分类为标题,将 Symbol 列分类为索引。这些值将是每个符号按 CS 类型出现的次数。例如,上述数据框的预期输出为:

    MSI   EBV   CIN   GS 
A1   1     0     0    1 
A2   2     1     1    0 
A3   0     0     0    1 

解决这种特殊情况的最有效方法是什么?

请您参考如下方法:

您可以使用crosstab

pd.crosstab(df.Symbol,df.CS) 
Out[862]:  
CS      CIN  EBV  GS  MSI 
Symbol                    
A1        0    0   1    1 
A2        1    1   0    2 
A3        0    0   1    0