मान लें, आपके पास डेटाफ़्रेम है
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 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