각 행의 최소값으로 데이터 프레임 최대값을 생성한 결과는
0 43.000000 1 1.911111 2 2.405405 3 20.000000 4 7.727273 5 6.333333
이 문제를 해결하기 위해 다음 단계를 따릅니다. -
해결책 1
-
1에서 100까지 30개의 임의 요소 크기로 데이터 프레임을 정의하고 (6,5)로 배열을 재구성하여 2차원 배열을 변경합니다.
df = pd.DataFrame(np.random.randint(1,100,30).reshape(6,5))
-
람다 메서드 내부에 df.apply 함수를 만들어 축을 1로 하여 np.max(x)/np.min(x)를 계산하고 max_of_min으로 저장합니다. 아래에 정의되어 있습니다.
max_of_min = df.apply(lambda x: np.max(x)/np.min(x), axis=1)
-
마지막으로 max_of_min
을 인쇄합니다.
예시
더 나은 이해를 위해 다음 코드를 확인합시다 -
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randint(1,100,30).reshape(6,5)) print("Dataframe is:\n",df) max_of_min = df.apply(lambda x: np.max(x)/np.min(x), axis=1) print("maximum by minimum of each row:\n",max_of_min)
출력
Dataframe is: 0 1 2 3 4 0 2 13 4 15 86 1 60 53 86 75 45 2 37 85 40 89 88 3 67 33 80 4 74 4 85 71 11 67 81 5 56 85 95 15 94 maximum by minimum of each row: 0 43.000000 1 1.911111 2 2.405405 3 20.000000 4 7.727273 5 6.333333 dtype: float64