想从数据帧的某列数字指定的位置(每行不同)开始,求右边的最小值和最小值的位置,求帮忙

讨论 1711号炼丹师
Lv1 居士
发布在 Pandas   769   7
讨论 1711号炼丹师   769   7

data =[[55,607,66,87,1,432,66,87,1,3], [66,567,67,66,87,666,7,66,87,1], [6,67,696,66,87,1,87,57,67,66]] df = pd.DataFrame(data=data,columns=["a",'B','cc','tr','B','cc','tr','tr', 'B','cc']) df['max_val'] = df.max(axis=1) df['max_idx'] = df.idxmax(axis=1)

df:

0    1    2    3    4    5    6    7    8    9    max_val    max_idx

0 55 607 66 87 1 432 66 87 1 3 607 1

1 66 567 67 66 87 666 7 66 87 1 666 5

2 6 67 696 66 87 1 87 57 67 66 696 2

上面是求数据帧的最大值及位置,下面我想再次从max_idx标注的列数右边开始的位置 求最小值和最小值的位置,不知道如何开始 另外想到的一个笨方法是从旧数据帧中,按max_idx列标注的数,提取每行右边数据组成 新的数据帧(如下),再去求最小值和最小值的位置 最好是能直接求出,求大师帮忙

新的dfw:

0    1    2    3    4    5    6    7    8    9    

0 66 87 1 432 66 87 1 3
1 7 66 87 1
2 66 87 1 87 57 67 66

修改这张图片的说明

版权声明:作者保留权利,不代表意本站立场。如需转载请联系本站以及作者。

参与讨论

回复《 想从数据帧的某列数字指定的位置(每行不同)开始,求右边的最小值和最小值的位置,求帮忙

EditorJs 编辑器

沙发,很寂寞~
反馈
to-top--btn