데이터 프레임과 각 열에서 두 번째로 낮은 값에 대한 결과가 다음과 같다고 가정합니다.
Id 2 Salary 30000 Age 23
이 문제를 해결하기 위해 다음 단계를 따릅니다. -
해결책
-
데이터 프레임 정의
-
생성 람다 함수 내부에 df.apply() 함수를 설정하고 x와 같은 변수를 설정하여 모든 열에 액세스하고 표현식을 다음과 같이 확인합니다.
x.sort_values().unique()[1], axis=0은 다음과 같이 두 번째로 낮은 값을 반환합니다.
result = df.apply(lambda x: x.sort_values().unique()[1], axis=0)
예시
더 나은 이해를 위해 다음 코드를 확인합시다 -
import pandas as pd df = pd.DataFrame({'Id':[1,2,3,4,5,6,7,8,9,10], 'Salary':[20000,30000,50000,40000,80000,90000,350000,55000,60000,70000], 'Age': [22,23,24,25,26,25,26,27,25,24] }) print("DataFrame is:\n",df) print("Second lowest value of each column is:") result = df.apply(lambda x: x.sort_values().unique()[1], axis=0) print(result)
출력
DataFrame is: Id Salary Age 0 1 20000 22 1 2 30000 23 2 3 50000 24 3 4 40000 25 4 5 80000 26 5 6 90000 25 6 7 350000 26 7 8 55000 27 8 9 60000 25 9 10 70000 24 Second lowest value of each column is: Id 2 Salary 30000 Age 23 dtype: int64