Bagaimana Anda membuat plot pencar dari kerangka data dengan python?

Untuk membuat sebar plot dari kolom bingkai data, gunakan fungsi panda dataframe plot.scatter(). Berikut ini adalah sintaksnya

ax = df.plot.scatter(x, y)

Di sini, x adalah nama kolom atau posisi kolom dari koordinat sumbu horizontal dan y adalah nama kolom atau posisi kolom untuk koordinat sumbu vertikal

Di bawah tenda, fungsi df.plot.scatter()_ membuat plot pencar matplotlib dan mengembalikannya. Anda juga dapat menggunakan pustaka matplotlib untuk membuat plot pencar dengan meneruskan nilai kolom kerangka data sebagai masukan

Contoh

Mari kita lihat beberapa contoh memplot pencar langsung dari kerangka data panda. Pertama, mari buat kerangka data yang akan kita gunakan sepanjang tutorial ini

import pandas as pd

# dataframe of height and weight football players
df = pd.DataFrame({
    'Height': [167, 175, 170, 186, 190, 188, 158, 169, 183, 180],
    'Weight': [65, 70, 72, 80, 86, 94, 50, 58, 78, 85],
    'Team': ['A', 'A', 'B', 'B', 'B', 'B', 'A', 'A', 'B', 'A']
})

# display the dataframe
print(df)
_

Keluaran

   Height  Weight Team
0     167      65    A
1     175      70    A
2     170      72    B
3     186      80    B
4     190      86    B
5     188      94    B
6     158      50    A
7     169      58    A
8     183      78    B
9     180      85    A

Kerangka data di atas berisi data tinggi (dalam cm) dan berat (dalam kg) pemain sepak bola dari dua tim, A dan B

1. Plot pencar dari nilai kolom

Mari buat sebaran kolom "Tinggi" vs kolom "Berat" dari kerangka data

ax = df.plot.scatter(x="Weight", y="Height")

Keluaran

Bagaimana Anda membuat plot pencar dari kerangka data dengan python?
Bagaimana Anda membuat plot pencar dari kerangka data dengan python?

Plot di atas menunjukkan hubungan antara tinggi dan berat badan pemain sepak bola dari kerangka data. Anda dapat melihat bahwa ada korelasi positif antara keduanya

2. Scatter plot dengan warna yang berbeda untuk setiap kategori

Mari warnai setiap titik data di plot pencar untuk mencerminkan tim dari setiap pemain. Pertama, kami akan menambahkan kolom tambahan ke bingkai data di atas untuk menggambarkan warna yang akan digunakan untuk setiap titik data

# add additional column for color representing each teach
df['Team Color'] = df['Team'].map({'A': 'Red', 'B': 'Blue'})
# display the dataframe
print(df)
_

Keluaran

   Height  Weight Team Team Color
0     167      65    A        Red
1     175      70    A        Red
2     170      72    B       Blue
3     186      80    B       Blue
4     190      86    B       Blue
5     188      94    B       Blue
6     158      50    A        Red
7     169      58    A        Red
8     183      78    B       Blue
9     180      85    A        Red

Kami menggunakan warna “Merah” untuk mewakili pemain dari tim A dan “Biru” untuk mewakili pemain dari tim B. Sekarang, mari kita plot plot pencar yang sama tetapi kali ini dengan titik data berwarna yang mewakili tim masing-masing

ax = df.plot.scatter(x="Weight", y="Height", c="Team Color")
_

Keluaran

Bagaimana Anda membuat plot pencar dari kerangka data dengan python?
Bagaimana Anda membuat plot pencar dari kerangka data dengan python?

Kami menggunakan parameter c_ untuk meneruskan kolom dengan warna titik data ke fungsi df.plot.scatter()

Anda dapat melihat bahwa poin data dari tim A berwarna merah dan poin dari tim B berwarna biru. Pengamatan yang menarik dari plot di atas adalah bahwa pemain dari tim A secara komparatif memiliki tinggi dan berat badan yang lebih rendah dibandingkan dengan tim B.

Untuk informasi lebih lanjut tentang fungsi scatter plot di panda, lihat dokumentasinya

Dengan ini, kita sampai pada akhir tutorial ini. Contoh kode dan hasil yang ditampilkan dalam tutorial ini telah diimplementasikan di Jupyter Notebook dengan python (versi 3. 8. 3) kernel memiliki panda versi 1. 0. 5


Berlangganan buletin kami untuk panduan dan tutorial yang lebih informatif
Kami tidak melakukan spam dan Anda dapat memilih keluar kapan saja


Pengarang

  • Bagaimana Anda membuat plot pencar dari kerangka data dengan python?
    Bagaimana Anda membuat plot pencar dari kerangka data dengan python?

    Piyush Raj

    Piyush adalah seorang profesional data yang bersemangat menggunakan data untuk memahami berbagai hal dengan lebih baik dan membuat keputusan berdasarkan informasi. Di masa lalu, dia bekerja sebagai Ilmuwan Data untuk ZS dan memegang gelar teknik dari IIT Roorkee. Hobinya termasuk menonton kriket, membaca, dan mengerjakan proyek sampingan

    Coba lewati kolom DataFrame_ langsung ke matplotlib, seperti pada contoh di bawah, alih-alih mengekstraknya sebagai array numpy

    df = pd.DataFrame(np.random.randn(10,2), columns=['col1','col2'])
    df['col3'] = np.arange(len(df))**2 * 100 + 100
    
    In [5]: df
    Out[5]: 
           col1      col2  col3
    0 -1.000075 -0.759910   100
    1  0.510382  0.972615   200
    2  1.872067 -0.731010   500
    3  0.131612  1.075142  1000
    4  1.497820  0.237024  1700
    

    Variasikan ukuran titik sebar berdasarkan kolom lain

    plt.scatter(df.col1, df.col2, s=df.col3)
    # OR (with pandas 0.13 and up)
    df.plot(kind='scatter', x='col1', y='col2', s=df.col3)
    
    _

    Bagaimana Anda membuat plot pencar dari kerangka data dengan python?

    Variasikan warna titik sebar berdasarkan kolom lain

    colors = np.where(df.col3 > 300, 'r', 'k')
    plt.scatter(df.col1, df.col2, s=120, c=colors)
    # OR (with pandas 0.13 and up)
    df.plot(kind='scatter', x='col1', y='col2', s=120, c=colors)
    
    _

    Bagaimana Anda membuat plot pencar dari kerangka data dengan python?

    Plot pencar dengan legenda

    Namun, cara termudah yang saya temukan untuk membuat plot pencar dengan legenda adalah dengan memanggil plt.scatter satu kali untuk setiap jenis poin

    cond = df.col3 > 300
    subset_a = df[cond].dropna()
    subset_b = df[~cond].dropna()
    plt.scatter(subset_a.col1, subset_a.col2, s=120, c='b', label='col3 > 300')
    plt.scatter(subset_b.col1, subset_b.col2, s=60, c='r', label='col3 <= 300') 
    plt.legend()
    

    Bagaimana Anda membuat plot pencar dari kerangka data dengan python?

    Memperbarui

    Dari apa yang saya tahu, matplotlib hanya melompati titik dengan koordinat NA x/y atau pengaturan gaya NA (mis. g. , warna/ukuran). Untuk menemukan poin yang dilewati karena NA, coba metode isnull. df[df.col3.isnull()]

    Untuk membagi daftar poin menjadi banyak jenis, lihat select numpy, yang merupakan implementasi if-then-else vektor dan menerima nilai default opsional. Sebagai contoh

    Bagaimana Anda menyebarkan kolom plot dari DataFrame dengan Python?

    Buat plot pencar dengan berbagai ukuran dan warna titik penanda. Koordinat setiap titik ditentukan oleh dua kolom bingkai data dan lingkaran yang diisi digunakan untuk mewakili setiap titik. Plot semacam ini berguna untuk melihat korelasi yang kompleks antara dua variabel

    Bagaimana Anda membuat plot pencar dari tabel data?

    Buat bagan sebar .
    Salin data lembar kerja contoh ke dalam lembar kerja kosong, atau buka lembar kerja yang berisi data yang ingin Anda plot di bagan sebar. .
    Pilih data yang ingin Anda plot di bagan sebar
    Klik tab Sisipkan, lalu klik Sisipkan Sebar (X, Y) atau Bagan Gelembung
    Klik Sebarkan

    Apakah panda melakukan plot pencar?

    Untuk membuat plot pencar di Pandas, kita dapat menerapkan. plot() ke DataFrame kami . Fungsi ini memungkinkan Anda untuk meneruskan parameter x dan y, serta jenis plot yang ingin kami buat. Karena Panda meminjam banyak hal dari Matplotlib, sintaksnya akan terasa cukup familiar.

    Bagaimana cara membuat plot garis dari DataFrame dengan Python?

    plot() digunakan untuk menghasilkan plot garis dari DataFrame . Plot garis adalah plot default. Ini Menyediakan plotting dari satu kolom ke kolom lain. Jika tidak ditentukan, secara default pembuatan plot dilakukan di atas indeks DataFrame ke kolom numerik lainnya.