这个问题可以使用 pandas 库来解决。下面是一个示例代码:
import pandas as pd
# 创建一个示例 DataFrame
data = {
'A': ['A1', 'A1', 'A2', 'A2', 'A3', 'A3'],
'B': ['B1', 'B2', 'B1', 'B2', 'B1', 'B2'],
'C': [1, 2, 3, 4, 5, 6]
}
df = pd.DataFrame(data)
# 按照列 A 和列 B 进行分组,并计算每组的计数
grouped = df.groupby(['A', 'B']).size().reset_index(name='Count')
# 将计数分为不同的列
pivot_table = grouped.pivot(index='A', columns='B', values='Count').fillna(0)
print(pivot_table)
输出结果为:
B B1 B2
A
A1 1.0 1.0
A2 1.0 1.0
A3 1.0 1.0
在这个示例中,我们首先创建了一个包含列 A、B 和 C 的 DataFrame。然后,我们使用 groupby
方法按照列 A 和列 B 进行分组,并使用 size
方法计算每个组的计数。最后,我们使用 pivot
方法将计数分为不同的列,并使用 fillna
方法将缺失值填充为 0。