Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Membuang Lajur Pandas Dengan Berkesan Menggunakan Pandas.cut dan NumPy.searchsorted?

Bagaimanakah Saya Boleh Membuang Lajur Pandas Dengan Berkesan Menggunakan Pandas.cut dan NumPy.searchsorted?

Barbara Streisand
Barbara Streisandasal
2024-12-09 11:17:041050semak imbas

How Can I Effectively Bin a Pandas Column Using Pandas.cut and NumPy.searchsorted?

Mengadu Lajur Panda

Mengadu melibatkan membahagikan lajur data berterusan kepada selang diskret untuk menganalisis pengedaran data. Untuk bin lajur dengan nilai angka menggunakan Panda, kita boleh meneroka pelbagai kaedah.

Kaedah Pandas.cut

Panda menyediakan fungsi potong untuk melakukan binning. Ia memerlukan siri untuk binned dan senarai tepi bin sebagai hujah. Secara lalai, ia mengembalikan lajur kategori dengan label tong. Contohnya:

bins = [0, 1, 5, 10, 25, 50, 100]
df['binned'] = pd.cut(df['percentage'], bins)

Kaedah NumPy.searchsorted

Fungsi searchsorted NumPy juga boleh digunakan untuk binning. Ia mengembalikan indeks tong di mana setiap nilai dalam siri jatuh. Nilai yang terhasil kemudiannya boleh digunakan untuk mencipta kategori binned:

df['binned'] = np.searchsorted(bins, df['percentage'].values)

Mengira Kiraan Nilai

Setelah lajur binned dicipta, kita boleh mengira kiraan nilai untuk menentukan bilangan cerapan dalam setiap tong sampah. Ini boleh dicapai menggunakan sama ada value_counts atau groupby dan saiz agregat:

s = pd.cut(df['percentage'], bins=bins).value_counts()
s = df.groupby(pd.cut(df['percentage'], bins=bins)).size()

Dengan menggunakan teknik ini, kami boleh bin lajur data berangka secara berkesan dalam Pandas untuk mendapatkan cerapan tentang pengedarannya.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membuang Lajur Pandas Dengan Berkesan Menggunakan Pandas.cut dan NumPy.searchsorted?. 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