建议我具有以下数据框:
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
编写执行此操作的函数并不难。但这有没有以熊猫的方式实现?