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

주어진 DataFrame의 대각선을 1만큼 수정하는 프로그램을 Python으로 작성하십시오.

<시간/>

데이터 프레임이 있다고 가정합니다.

0 1 2

0 10 20 30 1 40 50 60 2 70 80 90

데이터 프레임의 대각선으로 1을 대체한 결과는 -

입니다.
0 1 2
0 1 20 30 1 40 1 60 2 70 80 1

해결책

이 문제를 해결하기 위해 다음 단계를 따릅니다. -

  • 데이터 프레임 정의

  • 모든 행과 열에 액세스하기 위해 중첩 for 루프 생성,

for i in range(len(df)):
   for j in range(len(df)):
  • 대각선과 일치하는 조건을 확인하고 일치하면 위치를 1로 바꿉니다. 아래에 정의되어 있습니다.

if i == j:
   df.iloc[i ,j] = 1

예시

더 나은 이해를 위해 아래 구현을 살펴보겠습니다.

import pandas as pd
import numpy as np
data = [[10,20,30],[40,50,60],[70,80,90]]
df = pd.DataFrame(data)
print("Original DataFrame is\n ", df)
for i in range(len(df)):
   for j in range(len(df)):
      if i == j:
         df.iloc[i ,j] = 1

print("Modified DataFrame is\n" ,df)

출력

Original DataFrame is
   0  1  2
0 10 20 30
1 40 50 60
2 70 80 90
Modified DataFrame is
  0  1  2
0 1 20 30
1 40 1 60
2 70 80 1