使用熊猫提前迭代优化两列计算 示例代码图案

问题描述

我有此代码段,该代码段在两列上进行计算,如果得到一些递增的模式,则将其视为有效的Key。如何在熊猫中优化它?

示例代码

这里只有track_id组。但是,我会有很多track_id组,我需要对所有组都应用相同的组。

import pandas as pd
import numpy as np

tid = [5.,5.,5.]

j = [ 0.,0.,1.,52.,53.,-1.,-1.]

k = [ 0.,56.,57.,58.,59.,60.,61.,62.,63.,-1.]
rules = ['rule_1_start','rule_1_end']
data = {'rule_1_start': j,'rule_1_end': k,'track_id': tid }
df = pd.DataFrame.from_dict(data)
for r in range(0,len(rules),2):
    track_groups = df.groupby('track_id')
    for key,item in track_groups:
        _min = np.argmin(item[rules[r]].values)
        _max =  np.argmax(item[rules[r+1]].values)
        if _min < _max: 
            print(f"{key}")

图案

我正在尝试找到类似这样的东西。如果您看到这两列,则表明存在增值模式。第1列具有77,78,79,第2列具有82-91。模式应该从col1增加到col2,反之亦然。

enter image description here

我可以在pandas或numpy中使用其他任何方式来获得更高的性能吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...