[英]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
添加margins
和margins_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.