【发布时间】:2016-09-27 22:05:10
【问题描述】:
这是我的问题:
df = pd.DataFrame({'A': ['one', 'one', 'two', 'two', 'one'] ,
'B': ['Ar', 'Br', 'Cr', 'Ar','Ar'] ,
'C': [1, 0, 0, 1,0 ]})
我想生成类似pd.crosstab 函数的输出,但是列和行交集的值应该来自第三列的聚合:
Ar, Br, Cr
one 0.5 0 0
two 1 0 0
例如有两种情况'one'和'Ar'对应'C'列的值为1,0我们将'C'列中的值相加(0+1)并除以中的值个数列'C',所以我们得到(0 + 1)/ 2 = 0.5。每当组合不存在时,我们(如“Cr”和“one”)我们将其设置为零。有什么想法吗?
【问题讨论】: