📜  pandas groupby 计数 - Python (1)

📅  最后修改于: 2023-12-03 14:45:02.664000             🧑  作者: Mango

pandas groupby 计数 - Python

在处理数据分析任务时,经常需要根据某些特征对数据进行分组,并计算每个组中出现的次数。在 pandas 库中,可以使用 groupbycount 方法来实现这个功能。

准备数据

首先,我们需要导入 pandas 库,并创建一个包含多个特征的 DataFrame 对象,以便进行分组和计数操作。

import pandas as pd

data = {
    '姓名': ['小明', '小红', '小明', '小红', '小明'],
    '性别': ['男', '女', '男', '女', '男'],
    '年龄': [20, 25, 20, 25, 20]
}

df = pd.DataFrame(data)

这里我们创建了一个包含 "姓名"、"性别" 和 "年龄" 列的 DataFrame 对象 df

使用 groupby 进行分组计数

我们可以使用 groupby 方法根据某个特征(或多个特征)来进行分组。然后,可以使用 count 方法来计算每个组中出现的次数。

例如,我们可以根据 "姓名" 分组,并计算每个姓名出现的次数:

name_counts = df.groupby('姓名').count()

上述代码将返回一个新的 DataFrame 对象 name_counts,其中包含每个姓名出现的次数。

结果展示

为了更好地显示结果,可以使用 Markdown 表格来展示计数结果。

markdown_table = name_counts.to_markdown()

上述代码将将 name_counts DataFrame 对象转换为 Markdown 表格,并保存到 markdown_table 变量中。

完整代码示例
import pandas as pd

data = {
    '姓名': ['小明', '小红', '小明', '小红', '小明'],
    '性别': ['男', '女', '男', '女', '男'],
    '年龄': [20, 25, 20, 25, 20]
}

df = pd.DataFrame(data)

name_counts = df.groupby('姓名').count()
markdown_table = name_counts.to_markdown()

print(markdown_table)

运行上述代码,将得到姓名计数的 Markdown 表格:

| 姓名 | 性别 | 年龄 | | ---- | ---- | ---- | | 小明 | 3 | 3 | | 小红 | 2 | 2 |

通过以上代码,我们成功使用 groupbycount 方法来进行分组计数,并使用 Markdown 表格展示结果。这对数据分析和报告撰写非常有用。