Saya mencoba untuk menempatkan beberapa nilai dalam huruf tebal menggunakan fungsi berikut:

def highlight(x):
    return ['font-weight: bold' if v > 0.5 else ''
                for v in x]

Variable_Names =['FACTOR1','FACTOR2','FACTOR3'] 
rows = ['ECON1','ECON2','ECON2','FOOD1','FOOD2','FOOD3','ENV1','ENV2','HEA1', 'HEA2', 'HEA3','PERS1','PERS2','PERS3',
                 'COM1','COM2', 'POL1','POL2'] 
MatrixFactor = pd.DataFrame(fa.loadings_, index=rows, columns=Variable_Names)

print(MatrixFactor)

Output MatrixFactor terlihat seperti ini:

       FACTOR1   FACTOR2   FACTOR3
ECON1  0.882718 -0.384788 -0.268527
ECON2 -0.203138  0.840794  0.501013
ECON2  0.542073 -0.239280 -0.804945
FOOD1  0.931340  0.057863  0.358672
FOOD2  0.391803  0.413689  0.821324
FOOD3  0.277097  0.959034  0.048014
ENV1   0.997853  0.018340  0.057592
ENV2  -0.270908 -0.057319 -0.960368

Kesalahan yang saya dapatkan ketika saya menjalankan perintah berikut:

display(MatrixFactor.reset_index().style.applymap(highlight))

ValueError: too many values to unpack (expected 2)

Saya tidak yakin apa yang salah di sini. Ketika saya mencoba fungsi sorotan pada dataframe yang berbeda, itu berfungsi dengan baik.

Juga mencoba display(MatrixFactor.style.applymap(highlight)) tetapi itu memberikan kesalahan ini:

ValueError: style is not supported for non-unique indices.
1
bravopapa 20 November 2020, 10:18

1 menjawab

Jawaban Terbaik

Gunakan Styler.apply dengan hanya memilih kolom numerik dengan parameter subset:

MatrixFactor.reset_index().style.apply(highlight, subset=Variable_Names)

Atau ubah fungsi untuk Styler.applymap:

def highlight(x):
    return 'font-weight: bold' if x > 0.5 else ''

MatrixFactor.reset_index().style.applymap(highlight, subset=Variable_Names)
1
jezrael 20 November 2020, 07:46