A列与B列上一行的值比较 B列也要与A列上一行的值比较
这样看的话,就是交叉比较,每一个值都只和另一列的上一行值有关,那么我们完全可以将a列和b列拆分开,按照这种交叉形式重新组合出c列和d列,也就是将a列和b列的每个元素交叉互换一下。
a = [0, 1, 2, 3]
b = [a, b, c, d]
c = [0, b, 2, d]
d = [a, 1, c, 3]
如此一来,问题就简化成对c和d直接做 cummin 了
最后的两列就是答案
df = pd.DataFrame(np.random.random((10,2)),
columns = ['A', 'B'])
df['sign'] = df.index % 2
'''swap A and B to generate AA and BB
AA -> sign == 0:
A even row + B odd row
BB -> sign == 1:
A odd row + B even row
'''
df[['AA','BB']] = df[['A','B']].where(df['sign'] == 0, df[['B','A']].values)
df[['minA','minB']] = df[['AA','BB']].cummin().where(df['sign'] == 0, df[['BB','AA']].values)
df
condition和sign两个条件需要一起考虑才行,我这样做不对。加入了condition后问题复杂了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具