Wie erstellen Sie effizient ein 2D -Array aus einer verschachtelten Liste verschiedener Längen?Python

Python-Programme
Anonymous
 Wie erstellen Sie effizient ein 2D -Array aus einer verschachtelten Liste verschiedener Längen?

Post by Anonymous »

Ich habe eine Liste mit 2D -Arrays mit gleicher Anzahl von Zeilen, aber unterschiedlichen Spalten. Ich muss ein gepolstertes Array von Arrays mit gleicher Form erstellen. Mein aktueller Code ist unten, aber aufgrund der für die für die Schleife ist der Code für große Listen sehr ineffizient. Wie kann ich ein gepolstertes Array effizienter erstellen?

Code: Select all

import numpy as np

list_length = 552

# Irregular shape arrays in the list
# list_with_irregular_arrays[0].shape = (10, 40)
# .
# .
# list_with_irregular_arrays[100].shape = (10, 60)
list_with_irregular_arrays = [np.random.rand(10, np.random.randint(30, 70)) for _ in range(list_length)] # NOTE: Only to create example data

# Create padded array
num_rows = 10
num_cols = max(arr.shape[1] for arr in list_with_irregular_arrays)
padded_array = np.full((list_length, num_rows, num_cols), np.nan, dtype=np.float32)

for i in range(list_length):
arr = list_with_irregular_arrays[i]
padded_array[i, :, :arr.shape[1]] = arr

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post