Hướng dẫn python create 2d array of unknown size - python tạo mảng 2d có kích thước không xác định

Điều này cho thấy một hiệu suất khá cao [mặc dù chậm hơn so với khởi tạo kích thước chính xác] để điền vào một mảng có kích thước không xác định trong Numpy:

data = numpy.zeros[ [1, 1] ]
N = 0
while True:
    row = ...
    if not row: break
    # assume every row has shape [K,]
    K = row.shape[0]
    if [N >= data.shape[0]]:
        # over-expand: any ratio around 1.5-2 should produce good behavior
        data.resize[ [N*2, K] ]
    if [K >= data.shape[1]]:
        # no need to over-expand: presumably less common
        data.resize[ [N, K+1] ]
    # add row to data
    data[N, 0:K] = row

# slice to size of actual data
data = data[:N, :]

Thích nghi với trường hợp của bạn:

if count > temp.shape[0]:
    temp.resize[ [max[ temp.shape[0]*2, count+1 ], temp.shape[1]] ]
if i > temp.shape[1]:
    temp.resize[ [temp.shape[0], max[temp.shape[1]*2, i+1]] ]
# now safe to use temp[count, i]

Bạn cũng có thể muốn theo dõi các kích thước dữ liệu thực tế [số lượng tối đa, tối đa I] và cắt mảng sau.

Như một ví dụ về đề xuất đầu tiên, giả sử chúng tôi đang tạo một mảng sẽ luôn có 10 cột, nhưng chúng tôi không có cách nào để biết có bao nhiêu hàng. Chúng tôi sẽ sử dụng danh sách để lưu trữ từng hàng, sau đó chuyển đổi thành mảng 2D ở cuối:

import numpy as np

data = []

random_val = 1
while random_val > 0.05:
   data.append[np.arange[10]]
random_val = np.random.random[]

data = np.array[data]
print data.shape


Gợi ý: 2

Trong bài viết này, chúng tôi sẽ thảo luận về cách tạo một ma trận trống hoặc mảng 2D numpy trước tiên bằng numpy.empty [] và sau đó nối các hàng hoặc cột riêng lẻ vào ma trận này bằng Numpy.Append []. Mảng 2d numpy và nối các mục vào nó dưới dạng hàng hoặc cột ,, để thêm nhiều hàng vào một mảng 2D, kết hợp các hàng trong cùng một mảng numpy và sau đó nối nó, để thêm nhiều cột vào một mảng 2D, kết hợp các cột trong cùng một mảng numpy và sau đó nối nó,

numpy.empty[]

numpy.empty[shape, dtype = float, order = 'C']

numpy.append[]

numpy.append[arr, values, axis = None]

Hãy để tạo ra một mảng numpy trống với 4 cột hoặc 0 hàng,

# Create an empty Numpy array with 4 columns or 0 rows
empty_array = np.empty[[0, 4], int]

print['Empty 2D Numpy array:']
print[empty_array]


Gợi ý: 3

Có ba cách khác nhau để tạo ra các mảng numpy:, tạo và tạo ra một mảng numpy là bước đầu tiên để sử dụng Numpy để thực hiện các tính toán mảng số nhanh. Được trang bị các công cụ khác nhau để tạo mảng, giờ đây bạn đã được thiết lập để thực hiện các hoạt động mảng cơ bản., Ngoài việc sử dụng các hàm numpy, bạn cũng có thể tạo một mảng trực tiếp từ danh sách Python. Chuyển danh sách Python cho chức năng mảng để tạo một mảng numpy:, để tạo một mảng ba chiều, chỉ định 3 tham số cho chức năng định hình lại.

1
import Numpy as np
2 array = np.arange[20]
3 array

1 array[[0, 1, 2, 3, 4,
   2 5, 6, 7, 8, 9,
   3 10, 11, 12, 13, 14,
   4 15, 16, 17, 18, 19
]]


Gợi ý: 4

Một mảng thường là một thùng chứa có kích thước cố định của các vật phẩm cùng loại và kích thước. Số lượng kích thước và vật phẩm trong một mảng được xác định bởi hình dạng của nó. Hình dạng của một mảng là một bộ số của các số nguyên không âm, xác định kích thước của từng chiều., Trong Numpy, kích thước được gọi là trục. Điều này có nghĩa là nếu bạn có một mảng 2D trông như thế này:, một mảng có thể được lập chỉ mục bởi một số nguyên không âm, bởi Booleans, bởi một mảng khác hoặc bởi các số nguyên. Thứ hạng của mảng là số lượng kích thước. Hình dạng của mảng là một bộ số số nguyên cho kích thước của mảng dọc theo mỗi chiều. Ví dụ, nếu bạn có một mảng 2 chiều với 2 hàng và 3 cột, hình dạng của mảng của bạn là [2, 3].

>>> a = np.arange[6] >>>
   a2 = a[np.newaxis,: ] >>>
   a2.shape[1, 6]

>>> a = np.array[[1, 2, 3, 4, 5, 6]]

if count > temp.shape[0]:
    temp.resize[ [max[ temp.shape[0]*2, count+1 ], temp.shape[1]] ]
if i > temp.shape[1]:
    temp.resize[ [temp.shape[0], max[temp.shape[1]*2, i+1]] ]
# now safe to use temp[count, i]
0


Gợi ý: 5

Bất cứ khi nào bạn nhìn thấy mảng mảng Điều này chấp nhận bất kỳ đối tượng giống như chuỗi nào [bao gồm các mảng khác] và tạo ra một mảng numpy mới chứa dữ liệu được truyền. Ví dụ, danh sách là một ứng cử viên tốt để chuyển đổi:, trong các mảng đa chiều, nếu bạn bỏ qua các chỉ số sau, đối tượng được trả về sẽ là một ndarray chiều thấp hơn bao gồm tất cả các dữ liệu dọc theo kích thước cao hơn. Vì vậy, trong mảng 2 × 2 × 3 ARR3D, lưu ý rằng trong tất cả các trường hợp này trong đó các phần phụ của mảng đã được chọn, các mảng được trả về là các chế độ xem.

if count > temp.shape[0]:
    temp.resize[ [max[ temp.shape[0]*2, count+1 ], temp.shape[1]] ]
if i > temp.shape[1]:
    temp.resize[ [temp.shape[0], max[temp.shape[1]*2, i+1]] ]
# now safe to use temp[count, i]
1

if count > temp.shape[0]:
    temp.resize[ [max[ temp.shape[0]*2, count+1 ], temp.shape[1]] ]
if i > temp.shape[1]:
    temp.resize[ [temp.shape[0], max[temp.shape[1]*2, i+1]] ]
# now safe to use temp[count, i]
2

if count > temp.shape[0]:
    temp.resize[ [max[ temp.shape[0]*2, count+1 ], temp.shape[1]] ]
if i > temp.shape[1]:
    temp.resize[ [temp.shape[0], max[temp.shape[1]*2, i+1]] ]
# now safe to use temp[count, i]
3

if count > temp.shape[0]:
    temp.resize[ [max[ temp.shape[0]*2, count+1 ], temp.shape[1]] ]
if i > temp.shape[1]:
    temp.resize[ [temp.shape[0], max[temp.shape[1]*2, i+1]] ]
# now safe to use temp[count, i]
4

if count > temp.shape[0]:
    temp.resize[ [max[ temp.shape[0]*2, count+1 ], temp.shape[1]] ]
if i > temp.shape[1]:
    temp.resize[ [temp.shape[0], max[temp.shape[1]*2, i+1]] ]
# now safe to use temp[count, i]
5

if count > temp.shape[0]:
    temp.resize[ [max[ temp.shape[0]*2, count+1 ], temp.shape[1]] ]
if i > temp.shape[1]:
    temp.resize[ [temp.shape[0], max[temp.shape[1]*2, i+1]] ]
# now safe to use temp[count, i]
6


Gợi ý: 6

Cập nhật lần cuối: 20 tháng 1 năm 2022

Đầu ra: & nbsp; & nbsp; 
 

if count > temp.shape[0]:
    temp.resize[ [max[ temp.shape[0]*2, count+1 ], temp.shape[1]] ]
if i > temp.shape[1]:
    temp.resize[ [temp.shape[0], max[temp.shape[1]*2, i+1]] ]
# now safe to use temp[count, i]
7

15._

if count > temp.shape[0]:
    temp.resize[ [max[ temp.shape[0]*2, count+1 ], temp.shape[1]] ]
if i > temp.shape[1]:
    temp.resize[ [temp.shape[0], max[temp.shape[1]*2, i+1]] ]
# now safe to use temp[count, i]
8


Gợi ý: 7

Tạo một chương trình để cập nhật giá trị hiện có của mảng 2D trong Python., Chúng ta hãy hiểu hàm Len [] để có được kích thước của một mảng 2 chiều trong Python.

if count > temp.shape[0]:
    temp.resize[ [max[ temp.shape[0]*2, count+1 ], temp.shape[1]] ]
if i > temp.shape[1]:
    temp.resize[ [temp.shape[0], max[temp.shape[1]*2, i+1]] ]
# now safe to use temp[count, i]
9


Làm thế nào để bạn tạo một mảng có kích thước không xác định trong Python?

Tạo ra mảng với kích thước không xác định trong câu trả lời mã Python..
a = np. mảng[[]].
cho x trong y:.
a = np. nối [a, x].

Làm thế nào để bạn tạo một mảng 2D trống trong Python?

Tạo python mảng trống trong Python, chúng tôi không có hỗ trợ tích hợp cho mảng, nhưng danh sách Python có thể được sử dụng. Tạo một danh sách [0] và nhân nó với số và sau đó chúng ta sẽ nhận được một mảng trống.Create a list [0] and multiply it by number and then we will get an empty array.

Làm cách nào để có được kích thước của danh sách 2D trong Python?

Sử dụng Len [] để tìm độ dài của danh sách 2D trong Python.Gọi Len [OBJ] với danh sách 2D là OBJ để có được số lượng hàng trong mảng.Gọi Len [OBJ] với một hàng danh sách là OBJ để có được số lượng cột.Nhân số lượng hàng với các cột để có được tổng chiều dài của danh sách.. Call len[obj] with a 2D list as obj to get the number of rows in the array. Call len[obj] with a list row as obj to get the number of columns. Multiply the number of rows by that of columns to get the total length of the list.

Chúng ta có thể khai báo mảng 2D mà không có kích thước trong Java không?

Bạn có thể thấy mảng 2D cung cấp rất nhiều tính linh hoạt và sức mạnh, ví dụ:Bạn có thể khai báo một mảng 2D mà không cần chỉ định kích thước thứ hai, bạn có thể khai báo một mảng hai chiều trong đó mỗi subarray có độ dài khác nhau và thậm chí bạn có thể tạo một mảng 2D hoặc hai chiều không đồng nhất trong Java.you can declare a 2D array without specifying the second dimension, you can declare a two-dimensional array where each subarray is of a different length, and you can even create a heterogeneous 2D or two-dimensional array in Java.

Bài Viết Liên Quan

Chủ Đề