Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mewarnakan Teks dan Latar Belakang dalam Jadual HTML Bingkai Data Pandas?

Bagaimana untuk Mewarnakan Teks dan Latar Belakang dalam Jadual HTML Bingkai Data Pandas?

Linda Hamilton
Linda Hamiltonasal
2024-10-31 21:57:02280semak imbas

How to Color Text and Backgrounds in a Pandas Dataframe HTML Table?

Mewarnai Teks dan Latar Belakang dalam Jadual HTML Bingkai Data Pandas Python Menggunakan Gaya dan CSS

Untuk menyesuaikan penampilan jadual HTML bingkai data panda, anda boleh menggabungkan atribut gaya dan CSS.

Menukar Warna Teks

Untuk menukar warna teks dalam baris tertentu bingkai data, gunakan apply() dengan fungsi yang menggunakan gaya CSS pada nilai berdasarkan syarat. Contohnya, untuk mewarna semua nilai dalam baris 'MOS' dengan warna tertentu:

<code class="python">def highlight_MOS(s):
    is_mos = s.index.get_level_values(1) == 'MOS'
    return ['color: orange' if v else 'color: blue' for v in is_mos]

s = df.style.apply(highlight_MOS)</code>

Mengubah suai Warna Latar Belakang

Untuk menetapkan warna latar belakang sel tertentu , anda boleh menggunakan set_table_styles() dan nyatakan sifat background_color:

<code class="python">s.set_table_styles([dict(selector='th', props=[('background-color', 'lightblue')]),
                    dict(selector='td', props=[('background-color', 'white')])])</code>

Ini akan menetapkan warna latar belakang semua sel pengepala kepada biru muda dan seluruh sel kepada putih.

Contoh

Menggabungkan teknik di atas, berikut ialah contoh cara mewarna kedua-dua teks dan latar belakang:

<code class="python">import numpy as np
import pandas as pd

arrays = [['Midland', 'Midland', 'Hereford', 'Hereford', 'Hobbs','Hobbs', 'Childress',
           'Childress', 'Reese', 'Reese', 'San Angelo', 'San Angelo'],
          ['WRF','MOS','WRF','MOS','WRF','MOS','WRF','MOS','WRF','MOS','WRF','MOS']]
tuples = list(zip(*arrays))
index = pd.MultiIndex.from_tuples(tuples)
df = pd.DataFrame(np.random.randn(12, 4), index=arrays,
                  columns=['00 UTC', '06 UTC', '12 UTC', '18 UTC'])

def highlight_MOS(s):
    is_mos = s.index.get_level_values(1) == 'MOS'
    return ['color: orange' if v else 'color: blue' for v in is_mos]

s = df.style.apply(highlight_MOS)
s.set_table_styles([dict(selector='th', props=[('background-color', 'lightblue')]),
                    dict(selector='td', props=[('background-color', 'white')])])

s</code>

Ini akan menghasilkan jadual HTML dengan teks oren dalam ' Baris MOS dan pengepala biru muda serta latar belakang indeks peringkat atas.

Atas ialah kandungan terperinci Bagaimana untuk Mewarnakan Teks dan Latar Belakang dalam Jadual HTML Bingkai Data Pandas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn