我有这样的数据:
0 1 251 TrCP
0 2 68 TrCP
0 3 61 TrCP
0 4 69 TrCP
0 5 70 TrCP
0 6 75 TrCP
0 7 63 TrCP
0 8 57 TrCP
0 9 96 TrCP
0 10 266 TrCP
........
0 2827 62 TrNAP
1 1 67 TrCP
1 2 84 TrCP
1 3 159 TrCP
1 4 121 TrCP
1 5 80 TrCP
1 6 68 TrCP
1 7 148 TrCP
1 8 78 TrCP
1 9 71 TrCP
1 10 67 TrCP
........
1 2827 76 TrNAP
.
.
.
2828 1 62 TrCP
在第一列中,我有0到2828之间的数字。 对于0-2828中的每个数字 我想根据第三列中的值提取最后一列(例如,TrCP)。 例如,在第一列='0'中,第三列的最大值为'266',我想返回输出:TrCP。
答案 0 :(得分:0)
我不知道您的数据是如何存储的,但是最普遍的解决方案如下:
my_array= [251, 68, 61, 69, 70, 75...]
whoa_a_wild_array = ['TrCP','TrCP','TrCP','TrCP',...]
whoa_a_wild_array[np.argmax(x)]
此处np.argmax()
返回最大值的索引。然后,我们可以在其他数组/向量/列表/等中访问该索引。达达!
如果您使用的是熊猫,代码非常相似:
df['4th_column'].values[df['3rd_column'].argmax()]]
.values
确保您确实拉出了所需的索引,而不是标签不正确(例如,如果数据框的索引已编号并且您不希望访问该索引)。