为了账号安全,请及时绑定邮箱和手机立即绑定

使用来自其他列的索引对 DataFrame 进行切片

使用来自其他列的索引对 DataFrame 进行切片

GCT1015 2021-09-14 15:20:21
我有一个这样的数据框:index   value   idxmin  idxmax0       300     nan     nan1       200     nan     nan2       100     nan     nan3       200     0       24       300     1       25       400     1       36       500     2       57       600     4       58       700     4       79       800     5       810      900     5       811      800     7       912      700     8       1013      600     10      1214      500     12      1315      400     12      1416      500     12      1517      400     13      1518      500     13      1619      600     15      1720      700     15      19我想创建一个新列(最大值),它将返回行范围的“值”列的最大值。示例:对于第 9 行,第 5 行到第 8 行的“值”的最大值为 800。我已经制作了这段代码,它实际上正在运行但效率不高df['maxvalue'] = df.apply(lambda x : (df['value'].loc[x['idxmin']:x['idxmax']].max(), axis=1)您是否有更有效的代码来执行该功能?我期望的结果(最后一栏):index   value   idxmin  idxmax  maxvalue0       300     nan     nan     nan1       200     nan     nan     nan2       100     nan     nan     nan3       200     0       2       3004       300     1       2       2005       400     1       3       2006       500     2       5       4007       600     4       5       4008       700     4       7       6009       800     5       8       70010      900     5       8       70011      800     7       9       80012      700     8       10      90013      600     10      12      90014      500     12      13      70015      400     12      14      70016      500     12      15      70017      400     13      15      60018      500     13      16      60019      600     15      17      50020      700     15      19      600非常感谢您的帮助 !!
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 143 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信