Menu
CoddyTech

分组与聚合数据

Coddy Pandas 数据分析 课程的第 15 课,共 19 课。

处理大型数据集时,对数据进行分组和聚合非常重要,因为这有助于简化和汇总数据,让数据更容易理解和分析。

在上一课中,我们计算了特定组的统计数据,但如果没有其他工具,计算所有组的统计数据可能会很困难。为此,我们可以使用 .groupby() 方法:

df.groupby('column_name')

这会返回一个 GroupBy 对象,按照 column_name 的值对数据框中的行进行分组。你可以对这个 GroupBy 对象应用聚合函数,在各个组内进行计算。

数据分组后,我们可以使用多个聚合函数来汇总数据,例如:

df.groupby('column_name').sum()
df.groupby('column_name').min()
df.groupby('column_name').max()

这会返回原始数据框中其他所有数值列的 sum、min 和 max,并按照 column_name 进行划分。

现在,你可以提取正在分析的特定列:

df.groupby('column_name').sum()['other_column']
challenge icon

挑战

简单

CSV 文件 visits.csv 包含特定时间在特定地点发生的访问次数信息。

以下是文件的前 5 行:

location_id,visits,timestamp
8,1771,27498
9,4187,79919
0,4959,54228
6,7721,41588

创建一个包含以下键的字典:min、max、mean、std、sum 和 median,并为每个地点 ID 提供一个 series,其中包含 每个 地点 ID 对应的 visits 列统计数据。

亲手试试

# 已导入 pandas,并将其命名为 pd
df = pd.read_csv("./visits.csv")
# 在下方编写你的代码
sum_visits = df.groupby("location_id").sum()["visits"]

res = {
    "min": # 填写
    "max": # 填写
    "mean": # 填写
    "std": # 填写
    "median": # 填写
    "sum": sum_visits
}
print(res)

Pandas 数据分析中的所有课

自己练习: Python 在线编译器