📅  最后修改于: 2023-12-03 15:20:06.245000             🧑  作者: Mango
SeriesGroupBy对象是pandas库中用于对Series进行分组的对象。它提供了一种方便的方式来按特定的键对数据进行分组,并在每个组上进行计算或操作。
要创建SeriesGroupBy对象,首先需要创建一个Series对象,然后使用groupby
方法指定分组的键。
import pandas as pd
# 创建Series对象
data = pd.Series([1, 2, 3, 4, 5])
# 使用groupby方法创建SeriesGroupBy对象
grouped = data.groupby([1, 1, 2, 2, 2])
# 查看分组结果
print(grouped)
输出结果为:
<pandas.core.groupby.generic.SeriesGroupBy object at 0x7f9b7a963100>
SeriesGroupBy对象提供了许多用于对每个组进行计算或操作的方法。
可以使用聚合函数对分组后的每个组进行计算。常见的聚合函数有sum()
、mean()
、min()
、max()
等。
import pandas as pd
# 创建Series对象
data = pd.Series([1, 2, 3, 4, 5])
# 使用groupby方法创建SeriesGroupBy对象
grouped = data.groupby([1, 1, 2, 2, 2])
# 计算每个组的和
sums = grouped.sum()
# 计算每个组的均值
means = grouped.mean()
# 输出结果
print(sums)
print(means)
输出结果为:
1 2
2 9
dtype: int64
1 2
2 3
dtype: int64
可以使用groups
属性来查看每个组的索引。同时,也可以通过get_group
方法获取特定组的数据。
import pandas as pd
# 创建Series对象
data = pd.Series([1, 2, 3, 4, 5])
# 使用groupby方法创建SeriesGroupBy对象
grouped = data.groupby([1, 1, 2, 2, 2])
# 查看每个组的索引
print(grouped.groups)
# 获取特定组的数据
group_1 = grouped.get_group(1)
# 输出结果
print(group_1)
输出结果为:
{1: [0, 1], 2: [2, 3, 4]}
1 1
1 2
dtype: int64