小编jum*_*mbo的帖子

熊猫:在整个数据框架上应用复杂功能的最有效方法

我有一个需要分组,过滤,修改和应用自定义功能的df.我的"正常"方法是放慢速度而不是最优雅的方法!

[name]  [cnt]   [num]    [place]  [y]

AAAA     12    20182.0     5.0   1.75
BBBB     12    20182.0     7.0   2.00
AAAA     10    20381.0    10.0   9.25
BBBB     10    20381.0    12.0  18.75
EEEE     12    21335.0     1.0   0.00
RRRR     12    21335.0     8.0   3.00
CCCC     12    21335.0     9.0   3.50
Run Code Online (Sandbox Code Playgroud)

我需要在[num]上对df进行分组,即:

[name]  [cnt]   [num]    [place]  [y]

AAAA     12    20182.0     5.0   1.75
BBBB     12    20182.0     7.0   2.00
Run Code Online (Sandbox Code Playgroud)

对于这些组中的每一组,我需要完成三项任务:

I.使用相同的[y]值过滤掉一个组内的所有行.组最多可包含6个值.

II.为[place]创建所有可能的子集,长度为2:(5,7)和(7,5)

III.将自定义函数应用于每个子集:

def func(p1, p2):

    diff_p = p2-p1
    if diff_p > 0:
        return 2 / (diff_p * p2)
    else:
        return p1 …
Run Code Online (Sandbox Code Playgroud)

python algorithm performance dataframe pandas

6
推荐指数
1
解决办法
630
查看次数

标签 统计

algorithm ×1

dataframe ×1

pandas ×1

performance ×1

python ×1