“Панды меняют диагональ” Ответ

Как заменить оба диагонали DataFrame на 0 в пандах

import pandas as pd 
import numpy as np

df = pd.DataFrame(np.random.randint(1,100, 100).reshape(10, -1))

out = df.where(df.values != np.diag(df),0,df.where(df.values != np.flipud(df).diagonal(0),0,inplace=True))
regexp27

Панды меняют диагональ

In [21]: df.values[[np.arange(df.shape[0])]*2] = 0

In [22]: df
Out[22]: 
          0         1         2         3         4
0  0.000000  0.931374  0.604412  0.863842  0.280339
1  0.531528  0.000000  0.641094  0.204686  0.997020
2  0.137725  0.037867  0.000000  0.983432  0.458053
3  0.594542  0.943542  0.826738  0.000000  0.753240
4  0.357736  0.689262  0.014773  0.446046  0.000000
Busy Boar

Ответы похожие на “Панды меняют диагональ”

Вопросы похожие на “Панды меняют диагональ”

Больше похожих ответов на “Панды меняют диагональ” по Python

Смотреть популярные ответы по языку

Смотреть другие языки программирования