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

PHPz
Lepaskan: 2024-01-24 09:05:16
asal
705 orang telah melayarinya

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)
Salin selepas log masuk

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)
Salin selepas log masuk

Hasil larian adalah seperti berikut:

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

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)
Salin selepas log masuk

Hasil larian adalah seperti berikut:

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

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)
Salin selepas log masuk

Hasil larian adalah seperti berikut:

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

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)
Salin selepas log masuk

Hasil larian adalah seperti berikut:

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

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)
Salin selepas log masuk

Keputusan larian adalah seperti berikut:

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

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)
Salin selepas log masuk

Hasil larian adalah seperti berikut:

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

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan