编辑: 更新聚合,以便它与熊猫的最新版本一起使用
要将多个函数传递给groupby对象,您需要传递带有聚合函数和该函数适用的列的元组:
# Define a lambda function to compute the weighted mean:wm = lambda x: np.average(x, weights=df.loc[x.index, "adjusted_lots"])# Define a dictionary with the functions to apply for a given column:# the following is deprecated since pandas 0.20:# f = {'adjusted_lots': ['sum'], 'price': {'weighted_mean' : wm} }# df.groupby(["contract", "month", "year", "buys"]).agg(f)# Groupby and [aggregate with namedAgg][1]:df.groupby(["contract", "month", "year", "buys"]).agg(adjusted_lots=("adjusted_lots", "sum"), price_weighted_mean=("price", wm)) adjusted_lots price_weighted_meancontract month year buys C Z 5 Sell -19424.828947CC U 5 Buy 5 3328.000000SB V 5 Buy 12 11.637500W Z 5 Sell -5554.850000
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)