Bagaimana untuk Menukar Senarai Senarai dengan Panjang Pembolehubah menjadi Array Numpy dalam Python?

DDD
Lepaskan: 2024-10-20 13:11:30
asal
167 orang telah melayarinya

How to Convert Lists of Lists with Variable Lengths into a Numpy Array in Python?

Menukar Senarai Senarai kepada Tatasusunan Numpy

Dalam Python, tugas biasa ialah memanipulasi data yang disimpan dalam senarai senarai. Kadangkala, data ini menjadi perlu untuk ditukar kepada format berstruktur seperti tatasusunan Numpy untuk pemprosesan yang cekap. Di sini, kami membincangkan pendekatan berbeza untuk melaksanakan penukaran ini apabila subsenarai individu mempunyai panjang yang berbeza-beza.

1. Mencipta Tatasusunan

Sublist dengan panjang yang berbeza-beza boleh disimpan sebagai tatasusunan. Setiap subsenarai ditukar kepada tatasusunan Numpy, dan kemudian tatasusunan ini digabungkan menjadi tatasusunan yang lebih besar:

<code class="python">x=[[1,2],[1,2,3],[1]]
y=numpy.array([numpy.array(xi) for xi in x])</code>
Salin selepas log masuk

2. Mencipta Tatasusunan Senarai

Suatu tatasusunan senarai boleh dibuat dengan hanya menukar senarai senarai terus kepada tatasusunan Numpy:

<code class="python">x=[[1,2],[1,2,3],[1]]
y=numpy.array(x)</code>
Salin selepas log masuk

3. Menyamakan Panjang Senarai

Jika hasil yang diingini ialah tatasusunan Numpy dengan panjang baris yang sama, subsenarai boleh dipadatkan dengan nilai Tiada:

<code class="python">x=[[1,2],[1,2,3],[1]]
length = max(map(len, x))
y=numpy.array([xi+[None]*(length-len(xi)) for xi in x])</code>
Salin selepas log masuk

Setiap pendekatan ini menyediakan jalan untuk menukar senarai senarai dengan panjang yang berbeza-beza kepada tatasusunan Numpy, bergantung pada keperluan khusus dan struktur data yang dikehendaki.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Senarai Senarai dengan Panjang Pembolehubah menjadi Array Numpy dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!