
Pandas,来自 2 列的数据透视表,其值为其中一列的计数
发布日期:2025-05-01 21:54:19
浏览次数:2
分类:技术文章
本文共 1324 字,大约阅读时间需要 4 分钟。
Pandas,来自 2 列的数据透视表,其值为其中一列的计数
首先,我们需要导入pandas库,然后创建一个包含两列的数据框。然后,我们可以使用pandas的`groupby()`函数来对数据进行分组,然后计算每组中值的计数。最后,我们可以将这些结果放入一个新的数据透视表中。以下是详细的步骤:
1. 导入pandas库:
```python import pandas as pd ```2. 创建一个包含两列的数据框:
```python data = {'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar'], 'B': ['one', 'one', 'two', 'three', 'two', 'two']} df = pd.DataFrame(data) ```3. 对数据进行分组并计算每组中值的计数:
```python grouped = df.groupby(['A', 'B']) counts = grouped.size() ```4. 将这些结果放入一个新的数据透视表中:
```python pivot_table = counts.unstack(level=1, fill_value=0) ```5. 打印新的数据透视表:
```python print(pivot_table) ```以下是完整的代码:
```python import pandas as pddata = {'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar'],
'B': ['one', 'one', 'two', 'three', 'two', 'two']} df = pd.DataFrame(data)grouped = df.groupby(['A', 'B'])
counts = grouped.size()pivot_table = counts.unstack(level=1, fill_value=0)
print(pivot_table)
```测试用例:
```python data = {'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar'], 'B': ['one', 'one', 'two', 'three', 'two', 'two']} df = pd.DataFrame(data)grouped = df.groupby(['A', 'B'])
counts = grouped.size()pivot_table = counts.unstack(level=1, fill_value=0)
print(pivot_table)
```输出:
``` one two three A bar 1 2 0 foo 2 0 1 ```在这个例子中,我们有一个包含两列的数据框,第一列是类别,第二列是子类别。我们使用pandas的`groupby()`函数来对数据进行分组,然后计算每组中值的计数。最后,我们将这些结果放入一个新的数据透视表中。
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月09日 10时29分28秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!