Artikel ini akan menunjukkan kepada anda cara untuk mencantikkan nombor dalam Bingkai Data Pandas dan menggunakan beberapa pilihan visualisasi gaya Panda yang lebih maju untuk meningkatkan keupayaan anda menganalisis data menggunakan Panda.
Contoh biasa termasuk:
Artikel ini akan menggunakan data maya untuk menerangkannya kepada semua orang. Data tersebut ialah data jualan 2018 untuk organisasi fiksyen.
Pautan set data adalah seperti berikut:
https://www.aliyundrive.com/s/Tu9zBN2x81c
berikut: Baca ini Selepas data, kami boleh membuat ringkasan pantas untuk melihat jumlah pembelian pelanggan kami daripada kami dan jumlah purata pembelian mereka. Demi kesederhanaan, saya telah memintas 5 data pertama di sini.
import numpy as np import pandas as pd df = pd.read_excel('2018_Sales_Total.xlsx')
Apabila anda melihat data ini, agak sukar untuk memahami dan anda mempunyai 6 titik perpuluhan. beberapa nombor yang lebih besar. Selain itu, tidak jelas sama ada ini adalah USD atau mata wang lain. Kita boleh menyelesaikan masalah ini menggunakan DataFrame style.format.
df.groupby('name')['ext price'].agg(['mean', 'sum'])
Hasilnya adalah seperti berikut:
Menggunakan fungsi format, anda boleh menggunakan semua keupayaan alat pemformatan rentetan python pada data anda. Dalam kes ini, kami menggunakan ${0:,.2f} untuk meletakkan tanda dolar di hadapan, tambah koma dan bulatkan hasilnya kepada dua tempat perpuluhan.Sebagai contoh, jika kita ingin membundarkan kepada 0 tempat perpuluhan, kita boleh menukar format kepada ${0:,.0f}.
(df.groupby('name')['ext price'] .agg(['mean', 'sum']) .style.format('${0:,.2f}'))
Kalau nak tengok jumlah jualan mengikut bulan, kita boleh rumuskan mengikut bulan dan kira bahagian setiap bulan. jumlah peratusan jualan tahunan.
(df.groupby('name')['ext price'] .agg(['mean', 'sum']) .style.format('${0:,.0f}'))
format_dict = {'sum':'${0:,.0f}', 'date': '{:%m-%Y}', 'pct_of_total': '{:.2%}'} monthly_sales.style.format(format_dict).hide_index()
结果如下:
除了样式化数字,我们还可以设置 DataFrame 中的单元格样式。让我们用绿色突出显示最高的数字,用彩色突出显示最高、最低的数字。
(monthly_sales .style .format(format_dict) .hide_index() .highlight_max(color='lightgreen') .highlight_min(color='#cd4f39'))
结果如下:
另一个有用的函数是 background_gradient,它可以突出显示列中的值范围。
(monthly_sales.style .format(format_dict) .background_gradient(subset=['sum'], cmap='BuGn'))
结果如下:
pandas样式功能还支持在列内绘制条形图。
(monthly_sales .style .format(format_dict) .hide_index() .bar(color='#FFA07A', vmin=100_000, subset=['sum'], align='zero') .bar(color='lightgreen', vmin=0, subset=['pct_of_total'], align='zero') .set_caption('2018 Sales Performance'))
结果如下:
我认为这是一个很酷的功能。
import sparklines def sparkline_str(x): bins=np.histogram(x)[0] sl = ''.join(sparklines(bins)) return sl sparkline_str.__name__ = "sparkline" df.groupby('name')['quantity', 'ext price'].agg(['mean', sparkline_str])
结果如下:
Atas ialah kandungan terperinci Artikel panjang 3000 perkataan, Pandas mencantikkan jadual Excel anda!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!