Python Pandas:带有aggfunc的数据透视表=计数唯一唯一

df2 = pd.DataFrame({'X' : ['X1', 'X1', 'X1', 'X1'], 'Y' : ['Y2','Y1','Y1','Y1'], 'Z' : ['Z3','Z1','Z1','Z2']})

X Y Z

0 X1 Y2 Z3

1 X1 Y1 Z1

2 X1 Y1 Z1

3 X1 Y1 Z2

g=df2.groupby('X')

pd.pivot_table(g, values='X', rows='Y', cols='Z', margins=False, aggfunc='count')

追溯(最近一次呼叫最近):… AttributeError:“索引”对象没有属性“索引”

如何获得一个数据透视表,其中包含一个DataFrame列与其他两个列 的 ?

是否有aggfunc独特的计数?我应该使用np.bincount()吗?

注意 我知道“系列”,values_counts()但是我需要一个数据透视表。


编辑:输出应为:

Z   Z1  Z2  Z3

Y

Y1 1 1 NaN

Y2 NaN NaN 1

回答:

你的意思是这样吗?

In [39]: df2.pivot_table(values='X', rows='Y', cols='Z', 

aggfunc=lambda x: len(x.unique()))

Out[39]:

Z Z1 Z2 Z3

Y

Y1 1 1 NaN

Y2 NaN NaN 1

请注意,使用len假设您NA的DataFrame中没有。您可以做x.value_counts().count()len(x.dropna().unique())否则可以。

以上是 Python Pandas:带有aggfunc的数据透视表=计数唯一唯一 的全部内容, 来源链接: utcz.com/qa/408626.html

回到顶部