Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Tangani masalah pengisihan data dengan mudah: panduan pengisihan panda yang ringkas dan mudah difahami

Tangani masalah pengisihan data dengan mudah: panduan pengisihan panda yang ringkas dan mudah difahami

PHPz
PHPzasal
2024-01-24 09:05:16657semak imbas

Tangani masalah pengisihan data dengan mudah: panduan pengisihan panda yang ringkas dan mudah difahami

Tutorial pengisihan panda yang ringkas dan mudah difahami: membolehkan anda menangani masalah pengisihan data dengan mudah, contoh kod khusus diperlukan

Dalam analisis dan pemprosesan data, selalunya perlu mengisih data agar lebih baik memahami ciri dan corak data . Dalam Python, perpustakaan panda adalah salah satu alat penting untuk analisis dan pemprosesan data. Tutorial ini menerangkan cara menggunakan panda untuk mengisih data dengan cepat dan fleksibel, serta menyediakan contoh kod khusus.

1. Konsep asas pengisihan data

Sebelum mengisih, kita perlu memahami konsep asas pengisihan data. Dalam panda, terdapat dua cara utama untuk mengisih data: mengisih mengikut baris dan mengisih mengikut lajur.

Isih mengikut baris: Isih keseluruhan baris data mengikut nilai lajur atau lajur tertentu. Ini dengan cepat boleh mengetahui kedudukan lajur atau lajur data tertentu.

Isih mengikut lajur: Isih keseluruhan lajur data mengikut saiz berangka. Ini menyusun data mengikut ciri tertentu, menjadikannya lebih mudah untuk difahami dan dianalisis.

2. Isih mengikut baris

1. Isih mengikut lajur tunggal

Pertama, kita perlu mencipta set data ringkas untuk menunjukkan proses pengisihan data.

import pandas as pd

data = {'姓名': ['张三', '李四', '王五', '赵六'],
        '年龄': [25, 32, 28, 19],
        '分数': [80, 90, 85, 75]}

df = pd.DataFrame(data)

Seterusnya, kita boleh mengisih data menggunakan fungsi "sort_values". Secara lalai, fungsi ini mengisih tertib menaik mengikut lajur yang ditentukan.

df_sorted = df.sort_values(by='年龄')
print(df_sorted)

Hasil larian adalah seperti berikut:

   姓名  年龄  分数
3  赵六  19  75
0  张三  25  80
2  王五  28  85
1  李四  32  90

Anda boleh melihat bahawa selepas mengisih mengikut lajur "umur", data diisih dalam tertib menaik.

2 Isih mengikut berbilang lajur

Jika kita perlu mengisih mengikut berbilang lajur, kita hanya perlu menghantar berbilang nama lajur dalam parameter "mengikut".

df_sorted = df.sort_values(by=['年龄', '分数'])
print(df_sorted)

Hasil larian adalah seperti berikut:

   姓名  年龄  分数
3  赵六  19  75
0  张三  25  80
2  王五  28  85
1  李四  32  90

Anda dapat melihat bahawa data diisih terlebih dahulu mengikut lajur "umur", dan kemudian diisih mengikut lajur "skor".

3. Isih mengikut lajur

Isih mengikut lajur terutamanya mengisih keseluruhan lajur data mengikut saiz berangka untuk memahami dan menganalisis data dengan lebih baik.

1. Isih mengikut nama lajur

Kita boleh menggunakan fungsi "isih_indeks" untuk mengisih lajur. Secara lalai, fungsi ini mengisih mengikut abjad nama lajur.

df_sorted = df.sort_index(axis=1)
print(df_sorted)

Hasil larian adalah seperti berikut:

   分数  年龄  姓名
0  80  25  张三
1  90  32  李四
2  85  28  王五
3  75  19  赵六

Anda boleh melihat bahawa data disusun mengikut susunan abjad mengikut nama lajur "Skor", "Umur", dan "Nama".

2 Isih mengikut data lajur

Kita juga boleh mengisih berdasarkan saiz data lajur, hanya masukkan data lajur dalam parameter "mengikut".

df_sorted = df.sort_values(by='年龄', axis=1)
print(df_sorted)

Hasil larian adalah seperti berikut:

   姓名  分数  年龄
0  张三  80  25
1  李四  90  32
2  王五  85  28
3  赵六  75  19

Anda boleh melihat bahawa data diisih terlebih dahulu mengikut lajur "umur", dan kemudian diisih mengikut data lajur yang sepadan.

4. Parameter pengisihan lain

Selain kaedah pengisihan asas, panda juga menyediakan beberapa parameter pengisihan lain yang berguna, seperti pengisihan menaik, pengisihan menurun, pemprosesan nilai hilang, dsb.

Dalam fungsi "nilai_isih", kita boleh menggunakan parameter "menaik" untuk menentukan pengisihan menaik atau menurun. Secara lalai, parameter ini ialah "Benar", yang disusun dalam tertib menaik.

df_sorted = df.sort_values(by='年龄', ascending=False)
print(df_sorted)

Keputusan larian adalah seperti berikut:

   姓名  年龄  分数
1  李四  32  90
2  王五  28  85
0  张三  25  80
3  赵六  19  75

Anda boleh melihat bahawa data disusun mengikut tertib menurun mengikut lajur "umur".

Selain pengisihan menaik dan menurun, kami juga boleh mengendalikan nilai yang hilang semasa proses pengisihan. Dalam fungsi "sort_values", kita boleh menggunakan parameter "na_position" untuk menentukan cara nilai yang hilang dikendalikan. Secara lalai, parameter ini ialah "terakhir", yang mengisih nilai yang hilang terakhir apabila parameter ini ditetapkan kepada "pertama", ia mengisih nilai yang hilang dahulu.

data = {'姓名': ['张三', '李四', '王五', None],
        '年龄': [25, None, 28, 19],
        '分数': [80, 90, 85, 75]}

df = pd.DataFrame(data)

df_sorted = df.sort_values(by='年龄', na_position='first')
print(df_sorted)

Hasil larian adalah seperti berikut:

    姓名    年龄  分数
1   李四    NaN  90
3  None  19.0  75
0   张三  25.0  80
2   王五  28.0  85

Anda boleh melihat bahawa apabila mengisih mengikut lajur "umur", nilai yang hilang diletakkan dahulu.

Ringkasnya, tutorial ini memperkenalkan tutorial pengisihan panda yang ringkas dan mudah difahami, termasuk mengisih mengikut baris dan mengisih mengikut lajur serta menyediakan contoh kod khusus. Dengan mempelajari tutorial ini, saya percaya anda boleh menangani masalah pengisihan data dengan mudah dan menggunakannya secara fleksibel dalam analisis dan pemprosesan data.

Atas ialah kandungan terperinci Tangani masalah pengisihan data dengan mudah: panduan pengisihan panda yang ringkas dan mudah difahami. 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