繁体   English   中英

Pandas 获取 pivot_table 上的唯一计数总数

[英]Pandas get total of unique counts on pivot_table

我有以下 dataframe:-

data = {
    "code": ["A1", "A1", "A2", "A1"],
    "pid" : [1, 2, 2, 1],
    "reg" : ["ac", "ao", "ao", "ao"]
}
df = pd.DataFrame(data)

通过在上面的 DataFrame 上执行 pivot,如下所示:-

piv = df.pivot_table(index="reg", columns="code", values="pid", aggfunc=pd.Series.nunique)

我得到以下 Output:-

code    A1  A2
reg     
ac      1.0 NaN
ao      2.0 1.0

对此 DataFrame 我想添加一列 Unique_Total ,如下所示:-

code    A1  A2   unique_total
reg     
ac      1.0 NaN  1
ao      2.0 1.0  2

ao = 2 的 unique_total 因为它只有 2 个唯一值,即 2 和 1

添加marginsmargins_name ,然后通过索引删除最后一行:

piv = df.pivot_table(index="reg", 
                     columns="code", 
                     values="pid", 
                     aggfunc=pd.Series.nunique, 
                     margins=True, 
                     margins_name='unique_total').iloc[:-1]
print (piv)
code   A1   A2  unique_total
reg                         
ac    1.0  NaN             1
ao    2.0  1.0             2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM