“Как изменить основную диагональ в пандах” Ответ

Как изменить основную диагональ в пандах

import numpy as np

s = pd.Series(data=[1,2,3],index=['a','b','c'])

df = pd.DataFrame(0, index=s.index, columns=s.index, dtype=s.dtype)

np.fill_diagonal(df.values, s)#you can also make s to be just a single float
print (df)
   a  b  c
a  1  0  0
b  0  2  0
c  0  0  3
Eilay Koren

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

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

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

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