定义的函数的意思是什么以及为什么在其他情形使用下为何会报错?请大家解释一下。

gbr = data.groupby("area")

gbr.groups

typicalFracDict = {
1: 0.2,
2: 0.4,
3: 0.6
}

#定义函数
def typicalSampling(group, typicalFracDict):
name = group.name
frac = typicalFracDict[name]
return group.sample(frac=frac)

result = data.groupby(
'area', group_keys=False
).apply(typicalSampling, typicalFracDict)

建函数目的是为了能将分组的组名与typicalFacDict字典作好映射,即根据组名要得到不同的sample中的frac参数
其它情形下不能用,那要看你groupby时area中的值是不是对应到typicalFacDict中的1,2,3,如果area中有一个不在1,2,3中,则会出错