Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menukar Senarai Senarai dengan Panjang Pembolehubah menjadi Array Numpy dalam Python?

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

DDD
DDDasal
2024-10-20 13:11:30168semak imbas

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>

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>

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>

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!

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