用Python编写程序以将给定DataFrame的对角线修改为1
假设您有一个数据框
0 1 2
010203014050602708090
用数据帧的对角线替换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