큰 데이터 프레임 (1 백만 행 이상)이 있습니다. 나는 궁극적으로 두 연령대 사이의 스펙트럼을 보간하려고합니다. 그러나 나는 가장 가까운 값을 찾을 필요가있는 나이의 위아래로 먼저 찾아야합니다.Python/Pandas는 하나의 열에서 위/아래 가장 가까운 값을 찾습니다.
는DataFrame 간단하게 내가 할 수있는 방법을 찾기 위해 고군분투이
Age Wavelength Luminosity
1
1
1
4
4
6
6
내가 값 4 입력 5 수, 그리고 반환해야
, 6처럼 보인다? 이것은 내가 시도한 것입니다 :
def findnearest(array,value):
idx = np.searchsorted(array,value, side='left')
if idx > 125893.0:
return array[idx]
else:
return array[idx]
idx1 = np.searchsorted(array,value, side='right')
if idx1 < 2e10:
return array[idx1]
else:
return array [idx1-1]
C = findnearest(m05_010['age'], 5.12e7)
print(C)
이 값은 하나만 반환하며 둘 다 반환하지 않습니다. 이것이 올바른 길입니까, 아니면 다른 것을해야합니까? 더 좋은 방법이 있습니까?
고맙습니다! 완벽하게 일했습니다. – Cmf55