Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Isih Lajur Bingkai Data Pandas Berdasarkan Pesanan Tersuai yang Ditakrifkan dalam Kamus?

Bagaimanakah Saya Boleh Isih Lajur Bingkai Data Pandas Berdasarkan Pesanan Tersuai yang Ditakrifkan dalam Kamus?

Linda Hamilton
Linda Hamiltonasal
2024-11-28 06:57:10462semak imbas

How Can I Sort a Pandas DataFrame Column Based on a Custom Order Defined in a Dictionary?

Menyesuaikan Pengisihan DataFrame dengan Kamus

Apabila bekerja dengan panda DataFrames, anda mungkin menghadapi situasi di mana anda perlu mengisih data berdasarkan kriteria tersuai . Senario biasa ialah mengisih lajur dengan nilai yang mewakili bulan berdasarkan susunan yang dipratentukan.

Untuk mencapai matlamat ini, satu pendekatan ialah menggunakan siri Kategori yang diperkenalkan dalam Pandas 0.15. Dengan menukar lajur bulan kepada siri kategori dan menentukan susunan yang diingini, anda boleh memastikan pengisihan beroperasi mengikut susunan yang anda tentukan.

Sebagai contoh, pertimbangkan DataFrame dengan lajur bernama 'm' yang mengandungi nama bulan:

import pandas as pd

df = pd.DataFrame([[1, 2, 'March'],[5, 6, 'Dec'],[3, 4, 'April']], columns=['a','b','m'])

Untuk mengisih lajur 'm' menggunakan pesanan tersuai, buat kamus dengan bulan pilihan pesanan:

custom_dict = {'March':0, 'April':1, 'Dec':3}

Seterusnya, tukar lajur 'm' kepada siri kategori dan nyatakan pesanan tersuai:

df['m'] = pd.Categorical(df['m'], 
                            ["March", "April", "Dec",], 
                            categories=["March", "April", "Dec"])

Akhir sekali, mengisih DataFrame mengikut lajur 'm' akan sekarang ikuti tertib tersuai yang ditakrifkan dalam kamus:

df.sort_values("m")

Kaedah ini menyediakan cara yang jelas dan mudah untuk mengisih data berdasarkan kriteria tersuai dalam DataFrame.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Isih Lajur Bingkai Data Pandas Berdasarkan Pesanan Tersuai yang Ditakrifkan dalam Kamus?. 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