【问题标题】:How to do a simple cross column classification in Python (Pandas/Numpy)?如何在 Python (Pandas/Numpy) 中进行简单的跨列分类?
【发布时间】:2014-10-12 22:48:45
【问题描述】:

我有这个数据框

A = pd.DataFrame([['Cat_1', 'Cat_1', 'Cat_2'], ['Cat_1', 'Cat_2', 'Cat_2'], ['Cat_2', 'Cat_2', 
                   'Cat_2'], ['Cat_1', 'Cat_1', 'Cat_1'], ['Cat_2', 'Cat_1', 'Cat_2']],
                   columns=['A', 'B', 'C'], index=[1, 2, 3, 4, 5])

我想在表格中计算和总结两者之间不同的配对组合。在此示例中,对于 A 列和 B 列,这将是输出。

                 B
 A       'Cat_1'  'Cat_2'
'Cat_1'     2        1
'Cat_2'     1        1

我认为我可以使用这个托架,并且似乎我得到了结果,但我认为这不是适当的方法......

A.groupby(['A', 'B']).agg([len])

Out[126]: 
               C
              len
A     B         
Cat_1 Cat_1    2
      Cat_2    1
Cat_2 Cat_1    1
      Cat_2    1

谢谢

【问题讨论】:

    标签: python numpy pandas grouping dataframe


    【解决方案1】:

    这就是pd.crosstab(我认为是“交叉制表”的缩写)所做的:

    pd.crosstab(A['A'], A['B'])
    Out[5]: 
    B      Cat_1  Cat_2
    A                  
    Cat_1      2      1
    Cat_2      1      1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-30
      • 2016-08-05
      • 1970-01-01
      • 1970-01-01
      • 2018-06-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多