cari
Rumahpembangunan bahagian belakangTutorial PythonTiga langkah untuk visualisasi data Python

Tiga langkah untuk visualisasi data Python

Apr 15, 2023 pm 05:04 PM
pythonpembelajaran mesinvisualisasi data

1. Pertama sekali, kita perlu tahu perpustakaan mana yang kita gunakan untuk melukis gambar?

matplotlib

Pustaka lukisan paling asas dalam Python ialah matplotlib, yang merupakan Python paling asas perpustakaan visualisasi Secara amnya saya bermula dengan visualisasi data Python dari matplotlib, dan kemudian mula berkembang secara menegak dan mendatar.

Seaborn

ialah perpustakaan kesan visualisasi lanjutan berdasarkan matplotlib ia menyasarkan pemilihan ciri pembolehubah dalam perlombongan data dan pembelajaran mesin yang boleh menggunakan kod pendek untuk melukis dan menerangkan lebih banyak Visualisasi data dimensi .

Perpustakaan lain termasuk

Bokeh (pustaka yang digunakan untuk visualisasi interaktif sisi penyemak imbas untuk membolehkan penganalisis berinteraksi dengan data Mapbox (yang mengendalikan enjin data geografi untuk perpustakaan alat visualisasi yang lebih kukuh) dan sebagainya pada.

Artikel ini terutamanya menggunakan matplotlib untuk analisis kes

Langkah 1: Tentukan masalah dan pilih grafik

Perniagaan mungkin rumit, tetapi selepas berpecah, kita perlu mencari kami Apakah isu khusus yang ingin anda nyatakan melalui grafik? Untuk latihan dalam pemikiran analitikal, anda boleh mempelajari kaedah dalam "Kaedah McKinsey" dan "Pyramid Principle".

Ini adalah ringkasan di Internet tentang pemilihan jenis carta.

Tiga langkah untuk visualisasi data Python

Dalam Python, kita boleh meringkaskannya kepada empat elemen visual asas berikut untuk memaparkan grafik:

  • Mata: plot taburan data dua dimensi , Sesuai untuk perhubungan dua dimensi yang mudah;
  • Baris: data dua dimensi plot garis, sesuai untuk siri masa
  • Lajur: data dua dimensi plot, sesuai untuk statistik kategori
  • Warna: peta haba sesuai untuk memaparkan dimensi ketiga;

Terdapat hubungan antara data seperti pengedaran, komposisi, perbandingan, sambungan dan trend yang berubah. Sepadan dengan perhubungan yang berbeza, pilih grafik yang sepadan untuk paparan.

Langkah 2: Ubah data, gunakan fungsi

Banyak kerja pengaturcaraan dalam analisis dan pemodelan data adalah berdasarkan penyediaan data: pemuatan, pembersihan, transformasi dan pembentukan semula . Langkah visualisasi kami juga perlu menyusun data, menukarnya ke dalam format yang kami perlukan, dan kemudian menggunakan kaedah visualisasi untuk melengkapkan lukisan.

Berikut ialah beberapa kaedah penukaran data yang biasa digunakan:

  • Gabung: cantum, concat, combine_frist (serupa dengan gabungan luar penuh dalam pangkalan data)
  • Bentuk semula : bentuk semula; putaran paksi: pangsi (serupa dengan jadual pangsi excel)
  • Alih keluar pendua: drop_duplicates
  • Pemetaan: peta
  • Penggantian isian: fillna,gantikan
  • Namakan semula indeks paksi: namakan semula

Fungsi get_dummies yang menukar pembolehubah kategori kepada 'matriks pembolehubah dummy' dan mengehadkan nilai lajur data dalam df, dsb. Fungsi

mencari fungsi yang sepadan dalam Python berdasarkan grafik yang dipilih dalam langkah pertama.

Langkah 3: Tetapan parameter, jelas sepintas lalu

Selepas grafik asal dilukis, kita boleh mengubah suai warna (warna), gaya garisan (linestyle), penanda (maker) atau lain-lain hiasan carta mengikut keperluan Tajuk item (Tajuk), label paksi (xlabel, ylabel), tanda paksi (set_xticks), dan legenda (legenda), dll., jadikan graf lebih intuitif.

Langkah ketiga ialah mengubah suai grafik berdasarkan langkah kedua untuk menjadikan grafik lebih jelas. Parameter khusus boleh didapati dalam fungsi carta.

2. Asas lukisan visual

Asas lukisan Matplotlib

#导入包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

Rajah dan Subplot

grafik matplotlib kedua-duanya terletak dalam Rajah (kanvas) , Subplot mencipta ruang imej. Anda tidak boleh melukis melalui angka Anda mesti menggunakan add_subplot untuk mencipta satu atau lebih subplot.

figsize boleh menentukan saiz imej.

#创建画布
fig = plt.figure()
<Figure size 432x288 with 0 Axes>
#创建subplot,221表示这是2行2列表格中的第1个图像。
ax1 = fig.add_subplot(221)
#但现在更习惯使用以下方法创建画布和图像,2,2表示这是一个2*2的画布,可以放置4个图像
fig , axes = plt.subplots(2,2,sharex=True,sharey=True)
#plt.subplot的sharex和sharey参数可以指定所有的subplot使用相同的x,y轴刻度。

Tiga langkah untuk visualisasi data Python

Gunakan kaedah subplots_adjust Rajah untuk melaraskan jarak.

subplots_adjust(left=None,bottom=None,right=None,
top=None,wspace=None,hspace=None)

Tiga langkah untuk visualisasi data Python

Warna, penanda dan gaya garis

fungsi plot matplotlib menerima set koordinat X dan Y, dan juga boleh menerima singkatan Rentetan untuk warna dan jenis garisan: **'g--', yang bermaksud warna hijau dan jenis garisan ialah '--' garis putus-putus. **Ia juga boleh dinyatakan secara eksplisit menggunakan parameter.

Carta garisan juga boleh menambah beberapa penanda untuk menyerlahkan lokasi titik data. Teg juga boleh diletakkan dalam rentetan format, tetapi jenis teg dan gaya baris mesti datang selepas warna.

plt.plot(np.random.randn(30),color='g',
 linestyle='--',marker='o')
[<matplotlib.lines.Line2D at 0x8c919b0>]

Skala, label dan legenda

Kaedah xlim, xticks dan xtickslabels plt mengawal julat dan kedudukan tanda carta dan label tandakan masing-masing.

Apabila kaedah dipanggil tanpa parameter, nilai parameter semasa dikembalikan apabila kaedah dipanggil dengan parameter, nilai parameter ditetapkan.

plt.plot(np.random.randn(30),color='g',
 linestyle='--',marker='o')
plt.xlim() #不带参数调用,显示当前参数;
#可将xlim替换为另外两个方法试试
(-1.4500000000000002, 30.45)

Tiga langkah untuk visualisasi data Python

img

plt.plot(np.random.randn(30),color='g',
 linestyle='--',marker='o')
plt.xlim([0,15]) #横轴刻度变成0-15
(0, 15)

Tiga langkah untuk visualisasi data Python

设置标题,轴标签,刻度以及刻度标签

fig = plt.figure();ax = fig.add_subplot(1,1,1)
ax.plot(np.random.randn(1000).cumsum())
ticks = ax.set_xticks([0,250,500,750,1000]) #设置刻度值
labels = ax.set_xticklabels(['one','two','three','four','five']) #设置刻度标签
ax.set_title('My first Plot') #设置标题
ax.set_xlabel('Stage') #设置轴标签
Text(0.5,0,'Stage')

Tiga langkah untuk visualisasi data Python

添加图例

图例legend是另一种用于标识图标元素的重要工具。 可以在添加subplot的时候传入label参数。

fig = plt.figure(figsize=(12,5));ax = fig.add_subplot(111)
ax.plot(np.random.randn(1000).cumsum(),'k',label='one') #传入label参数,定义label名称
ax.plot(np.random.randn(1000).cumsum(),'k--',label='two')
ax.plot(np.random.randn(1000).cumsum(),'k.',label='three')
#图形创建完后,只需要调用legend参数将label调出来即可。
ax.legend(loc='best') 
#要求不是很严格的话,建议使用loc=‘best’参数来让它自己选择最佳位置

Tiga langkah untuk visualisasi data Python

注解

除标准的图表对象之外,我们还可以自定义添加一些文字注解或者箭头。

注解可以通过text,arrow和annotate等函数进行添加。text函数可以将文本绘制在指定的x,y坐标位置,还可以进行自定义格式

plt.plot(np.random.randn(1000).cumsum())
plt.text(600,10,'test ',family='monospace',fontsize=10)
#中文注释在默认环境下并不能正常显示,需要修改配置文件,
# 使其支持中文字体。具体步骤请自行搜索。

保存图表到文件

利用plt.savefig可以将当前图表保存到文件。例如,要将图表保存为png文件,可以执行

文件类型是根据拓展名而定的。其他参数还有:

  • fname:含有文件路径的字符串,拓展名指定文件类型
  • dpi:分辨率,默认100 facecolor,edgcolor 图像的背景色,默认‘w’白色
  • format:显示设置文件格式('png','pdf','svg','ps','jpg'等)
  • bbox_inches:图表需要保留的部分。如果设置为“tight”,则将尝试剪除图像周围的空白部分
plt.savefig('./plot.jpg') #保存图像为plot名称的jpg格式图像
<Figure size 432x288 with 0 Axes>

3、Pandas中的绘图函数

Matplotlib作图

matplotlib是最基础的绘图函数,也是相对较低级的工具。 组装一张图表需要单独调用各个基础组件才行。Pandas中有许多基于matplotlib的高级绘图方法,原本需要多行代码才能搞定的图表,使用pandas只需要短短几行。

我们使用的就调用了pandas中的绘图包。

import matplotlib.pyplot as plt

线型图

Series和DataFrame都有一个用于生成各类图表的plot方法。 默认情况下,他们生成的是线型图。

s = pd.Series(np.random.randn(10).cumsum(),index=np.arange(0,100,10))
s.plot() #Series对象的索引index会传给matplotlib用作绘制x轴。
<matplotlib.axes._subplots.AxesSubplot at 0xf553128>

Tiga langkah untuk visualisasi data Python

df = pd.DataFrame(np.random.randn(10,4).cumsum(0),
columns=['A','B','C','D'])
df.plot() #plot会自动为不同变量改变颜色,并添加图例
<matplotlib.axes._subplots.AxesSubplot at 0xf4f9eb8>

Tiga langkah untuk visualisasi data Python

Series.plot方法的参数

  • label:用于图表的标签
  • style:风格字符串,'g--'
  • alpha:图像的填充不透明度(0-1)
  • kind:图表类型(bar,line,hist,kde等)
  • xticks:设定x轴刻度值
  • yticks:设定y轴刻度值
  • xlim,ylim:设定轴界限,[0,10]
  • grid:显示轴网格线,默认关闭
  • rot:旋转刻度标签
  • use_index:将对象的索引用作刻度标签
  • logy:在Y轴上使用对数标尺

DataFrame.plot方法的参数

DataFrame除了Series中的参数外,还有一些独有的选项。

  • subplots:将各个DataFrame列绘制到单独的subplot中
  • sharex,sharey:共享x,y轴
  • figsize:控制图像大小
  • title:图像标题
  • legend:添加图例,默认显示
  • sort_columns:以字母顺序绘制各列,默认使用当前顺序

柱状图

在生成线型图的代码中加上kind=‘bar’或者kind=‘barh’,可以生成柱状图或水平柱状图。

fig,axes = plt.subplots(2,1)
data = pd.Series(np.random.rand(10),index=list('abcdefghij'))
data.plot(kind='bar',ax=axes[0],rot=0,alpha=0.3)
data.plot(kind='barh',ax=axes[1],grid=True)
<matplotlib.axes._subplots.AxesSubplot at 0xfe39898>

Tiga langkah untuk visualisasi data Python

柱状图有一个非常实用的方法:

利用value_counts图形化显示Series或者DF中各值的出现频率。

比如df.value_counts().plot(kind='bar')

Python可视化的基础语法就到这里,其他图形的绘制方法大同小异。

重点是遵循三个步骤的思路来进行思考、选择、应用。多多练习可以更加熟练。


Atas ialah kandungan terperinci Tiga langkah untuk visualisasi data Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:51CTO.COM. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Bagaimana anda memotong array python?Bagaimana anda memotong array python?May 01, 2025 am 12:18 AM

Sintaks asas untuk pengirim senarai python adalah senarai [Mula: Berhenti: Langkah]. 1. Start adalah indeks elemen pertama yang disertakan, 2.Stop adalah indeks elemen pertama yang dikecualikan, dan 3. Step menentukan saiz langkah antara elemen. Hirisan tidak hanya digunakan untuk mengekstrak data, tetapi juga untuk mengubah suai dan membalikkan senarai.

Di bawah keadaan apa yang mungkin senarai lebih baik daripada tatasusunan?Di bawah keadaan apa yang mungkin senarai lebih baik daripada tatasusunan?May 01, 2025 am 12:06 AM

ListsOutPerFormAraySin: 1) DynamicsizingandFrequentInsertions/Deletions, 2) StoringHeterogeneousData, dan3) MemoryeficiencyForSparsedata, ButmayHaveslightPerformancecostSincertaor.

Bagaimana anda boleh menukar array python ke senarai python?Bagaimana anda boleh menukar array python ke senarai python?May 01, 2025 am 12:05 AM

ToConvertapythonarraytoalist, usethelist () constructororageneratorexpression.1) importTheArrayModuleAndCreateeanArray.2) uselist (arr) atau [xforxinarr] toConvertittoalist, urusanPengerasiPormanceAndMemoryeficiencyForlargedatasets.

Apakah tujuan menggunakan tatasusunan apabila senarai ada di Python?Apakah tujuan menggunakan tatasusunan apabila senarai ada di Python?May 01, 2025 am 12:04 AM

ChoosearraysoverListSinpythonforbetterperformanceandMemoryeficiencySpecificscenarios.1) largenumericaldatasets: arraysreducememoryusage.2) Prestasi-CRITICALICALLY:

Terangkan bagaimana untuk melangkah melalui unsur -unsur senarai dan array.Terangkan bagaimana untuk melangkah melalui unsur -unsur senarai dan array.May 01, 2025 am 12:01 AM

Di Python, anda boleh menggunakan gelung, menghitung dan menyenaraikan pemantauan ke senarai melintasi; Di Java, anda boleh menggunakan tradisional untuk gelung dan dipertingkatkan untuk gelung untuk melintasi tatasusunan. 1. Kaedah Traversal Senarai Python termasuk: untuk gelung, penghitungan dan pemahaman senarai. 2. Java Array Traversal Kaedah termasuk: tradisional untuk gelung dan dipertingkatkan untuk gelung.

Apakah penyataan suis python?Apakah penyataan suis python?Apr 30, 2025 pm 02:08 PM

Artikel ini membincangkan pernyataan baru "Match" Python yang diperkenalkan dalam versi 3.10, yang berfungsi sebagai setara dengan menukar pernyataan dalam bahasa lain. Ia meningkatkan kebolehbacaan kod dan menawarkan manfaat prestasi ke atas tradisional if-elif-el

Apakah kumpulan pengecualian dalam Python?Apakah kumpulan pengecualian dalam Python?Apr 30, 2025 pm 02:07 PM

Kumpulan Pengecualian dalam Python 3.11 Membenarkan mengendalikan pelbagai pengecualian secara serentak, meningkatkan pengurusan ralat dalam senario serentak dan operasi kompleks.

Apakah anotasi fungsi dalam python?Apakah anotasi fungsi dalam python?Apr 30, 2025 pm 02:06 PM

Fungsi anotasi dalam python Tambah metadata ke fungsi untuk pemeriksaan jenis, dokumentasi, dan sokongan IDE. Mereka meningkatkan kebolehbacaan kod, penyelenggaraan, dan penting dalam pembangunan API, sains data, dan penciptaan perpustakaan.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.