熊猫:添加交叉表总计

发布于 2021-01-29 14:56:49

如何在交叉表中添加总计的另一行和一列?

df = pd.DataFrame({"A": np.random.randint(0,2,100), "B" : np.random.randint(0,2,100)})
ct = pd.crosstab(new.A, new.B)
ct

在此处输入图片说明

我以为我会添加新列(通过对行求和而获得)

ct["Total"] = ct.0 + ct.1

但这不起作用。

关注者
0
被浏览
77
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    这是因为“类似属性”的列访问不适用于整数列名。使用标准索引:

    In [122]: ct["Total"] = ct[0] + ct[1]
    
    In [123]: ct
    Out[123]:
    B   0   1  Total
    A
    0  26  24     50
    1  30  20     50
    

    请参阅文档本节末尾的警告:http : //pandas.pydata.org/pandas-
    docs/stable/indexing.html#attribute-access

    当您要使用行时,可以使用.loc

    In [126]: ct.loc["Total"] = ct.loc[0] + ct.loc[1]
    

    在这种情况下ct.loc["Total"]相当于ct.loc["Total", :]



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看