用Python编写程序以将给定DataFrame的对角线修改为1

假设您有一个数据框

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

猜你喜欢