两列的每对值的Pandas DataFrame计数元素

时间:2018-11-08 10:23:33

标签: python pandas dataframe pandas-groupby

建议我具有以下数据框:

data = [
    ['a', 'x'],
    ['b', 'y'],
    ['b', 'z'],
    ['c', 'x'],
    ['a', 'x'],
    ['d', 'y']
]
df = pd.DataFrame(data, columns=['c1', 'c2'])

我需要计算这两列的每一对值。
我可以通过以下groupby操作来做到这一点:

df.groupby(['c1', 'c2']).size()

我明白了:

c1  c2
a   x     2
b   y     1
    z     1
c   x     1
d   y     1
dtype: int64

但是我需要一个具有所有对计数(有些为零)的数据框作为数据框。我确实需要此输出:

   x  y  z
a  2  0  0
b  0  1  1
c  1  0  0
d  1  0  0

编写执行此操作的函数并不难。但这有没有以熊猫的方式实现?

0 个答案:

没有答案