如何使用pandas groupby函数基于groupby值应用公式

克里斯

我的问题可能有点令人困惑,所以让我解释一下。我有一个信息数据框,希望将其按唯一的订单ID分组,这将产生以下列:

sum qty =每个订单ID执行的总金额。csv =这是每个订单ID的csv列的总和除以订单ID执行量的总和。

第一列很容易使用groupby创建,这是我遇到问题的第二列。这是我正在使用的示例数据:

    qty     sym     price   ordrefno    ord_bidprice    ord_askprice    csv
0   -25000  TEST    0.044   984842      0.0435          0.044          12.5
1   100     TEST    0.0443  984702      0.0435          0.044          0.03
2   -10000  TEST    0.0405  983375      0.039           0.0405         15
3   -100    TEST    0.0443  984842      0.0435          0.044          0.03

这是我的代码:

cs1 = lambda x: np.sum(test.csv / test.qty)
f2 = {'qty' : ['sum'], 'csv' : {'es' : cs1}}

agg_td = trades.groupby('ordrefno').agg(f2)
迈克·米勒

编写命名函数并使用apply作品:

def func(group):
    sum_ = group.qty.sum()
    es = (group.csv / group.qty).sum()
    return pd.Series([sum_, es], index=['qty', 'es'])

trades.groupby('ordrefno').apply(func)

结果:

            qty     es
ordrefno               
983375   -10000 -0.0015
984702      100  0.0003
984842   -25100 -0.0008

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

pandas groupby基于唯一值扩展df

如何使用groupby将多个函数应用于Pandas中的多个列?

如何使用pandas Groupby将不同的聚合函数应用于同一列

Pandas GroupBy:如何基于列获取前n个值

Pandas GroupBy:应用带有两个参数的函数

如何基于Pandas Groupby中的另一个系列获得最大值

如何使用pandas groupby并应用lambda评估布尔条件

Pandas Groupby:如何使用两个lambda函数?

Pandas Dataframe groupby:一次应用多个lambda函数

更改pandas groupby使用的函数的值

如何在groupby函数上应用nsmallest

如何基于groupby操作产生的组获取pandas DataFrame的组ID值的列

在熊猫中使用groupby mean替换基于多个条件的值

如何使用Pandas Groupby和nlargest

熊猫使用groupby和基于值的过滤器

基于基于n-1索引记录的值的pandas groupby

如何基于pandas中的groupby函数将数据框中的特定列转换为字典?

使用返回多个值的应用函数从 Pandas groupby 对象生成数据帧

Pandas groupby 使用基于两列的聚合

在 groupby 中应用 Size() 函数以及聚合参数 - Pandas

如何使用列名查找groupby pandas的最大值

基于多列值的Python pandas groupby值

Pandas groupby 统计聚合函数中的值

Pandas Groupby 在类中应用函数

如何基于groupby总结数据框中的行值?

Pandas:Groupby 总和值

Pandas 如何将函数应用于 groupby().first()

pandas 中基于 groupby 的高亮值

如何使用 pandas groupby、grouper 和 ngroup?