編寫一個Python程式,將給定DataFrame的對角線元素修改為1。
假設你有一個DataFrame
0 1 2
0 10 20 30 1 40 50 60 2 70 80 90
將DataFrame的對角線元素替換為1的結果是:
0 1 2 0 1 20 30 1 40 1 60 2 70 80 1
解決方案
為了解決這個問題,我們將遵循以下步驟:
定義一個DataFrame
建立巢狀迴圈來訪問所有行和列。
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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP