我有一个Pandas数据框,我尝试在left
小于的值时找到第一个ID
list = [0,50,100,150,200,250,500,1000]
ID ST ... csum left
0 0 AK ... 4.293174e+05 760964.996900
1 1 AK ... 4.722491e+06 760535.679500
2 2 AK ... 8.586347e+06 760149.293900
3 3 AK ... 2.683233e+07 758324.695200
4 4 AK ... 2.962290e+07 758045.638900
.. ... ... ... ... ...
111 111 AK ... 7.609006e+09 107.329336
112 112 AK ... 7.609221e+09 85.863469
113 113 AK ... 7.609435e+09 64.397602
114 114 AK ... 7.609650e+09 42.931735
115 115 AK ... 7.610079e+09 0.000000
所以我会得到一个列表或 Dataframe ,看起来像
threshold ID
0 115
50 114
100 112
150 100
200 100
250 99
500 78
1000 77
我怎样才能做到这一点?
2条答案
按热度按时间falq053o1#
如果要匹配第一个大于目标值的值的ID,请使用
merge_asof
:输出:
7uzetpgm2#
出局