Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python으로 프로그램을 작성하여 1에서 100까지의 30개 요소의 임의 배열을 생성하고 데이터 프레임의 각 행의 최소값으로 최대값을 계산하십시오.

<시간/>

각 행의 최소값으로 데이터 프레임 최대값을 생성한 결과는

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