Hướng dẫn how do i convert a 1d array to a 2d array in python? - làm cách nào để chuyển đổi mảng 1d sang mảng 2d trong python?

177

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi muốn chuyển đổi một mảng 1 chiều thành mảng 2 chiều bằng cách chỉ định số lượng cột trong mảng 2D. Một cái gì đó sẽ hoạt động như thế này:

> import numpy as np
> A = np.array([1,2,3,4,5,6])
> B = vec2matrix(A,ncol=2)
> B
array([[1, 2],
       [3, 4],
       [5, 6]])

Numpy có một chức năng hoạt động như chức năng trang điểm của tôi "Vec2Matrix" không? .

Hướng dẫn how do i convert a 1d array to a 2d array in python? - làm cách nào để chuyển đổi mảng 1d sang mảng 2d trong python?

Hỏi ngày 25 tháng 9 năm 2012 lúc 2:23Sep 25, 2012 at 2:23

Bạn muốn

B = np.reshape(A, (-1, 2))
5 mảng.

B = np.reshape(A, (-1, 2))

trong đó

B = np.reshape(A, (-1, 2))
6 tạo kích thước của kích thước mới từ kích thước của mảng đầu vào.

nbro

14.3K27 Huy hiệu vàng104 Huy hiệu bạc188 Huy hiệu đồng27 gold badges104 silver badges188 bronze badges

Đã trả lời ngày 25 tháng 9 năm 2012 lúc 2:27Sep 25, 2012 at 2:27

Matt Ballmatt BallMatt Ball

348K98 Huy hiệu vàng636 Huy hiệu bạc699 Huy hiệu Đồng98 gold badges636 silver badges699 bronze badges

0

Bạn có hai tùy chọn:

  • Nếu bạn không còn muốn hình dạng ban đầu, thì dễ nhất chỉ là gán một hình dạng mới cho mảng

    a.shape = (a.size//ncols, ncols)
    

    Bạn có thể chuyển

    B = np.reshape(A, (-1, 2))
    
    7 bằng
    B = np.reshape(A, (-1, 2))
    
    6 để tự động tính toán hình dạng thích hợp. Hãy chắc chắn rằng
    B = np.reshape(A, (-1, 2))
    
    9, nếu không bạn sẽ gặp một số vấn đề.

  • Bạn có thể nhận được một mảng mới với chức năng

    a.shape = (a.size//ncols, ncols)
    
    0, hoạt động chủ yếu giống như phiên bản được trình bày ở trên

    new = np.reshape(a, (-1, ncols))
    

    Khi có thể,

    a.shape = (a.size//ncols, ncols)
    
    1 sẽ chỉ là một cái nhìn của mảng ban đầu
    a.shape = (a.size//ncols, ncols)
    
    2, có nghĩa là dữ liệu được chia sẻ. Tuy nhiên, trong một số trường hợp, mảng
    a.shape = (a.size//ncols, ncols)
    
    1 sẽ thay vào đó là acopy. Lưu ý rằng
    a.shape = (a.size//ncols, ncols)
    
    0 cũng chấp nhận một từ khóa tùy chọn
    a.shape = (a.size//ncols, ncols)
    
    5 cho phép bạn chuyển từ thứ tự Row-Major C sang đơn hàng Cột-Major Fortran.
    a.shape = (a.size//ncols, ncols)
    
    0 là phiên bản hàm của phương thức
    a.shape = (a.size//ncols, ncols)
    
    7.

Nếu bạn không thể tôn trọng yêu cầu

B = np.reshape(A, (-1, 2))
9, bạn sẽ bị mắc kẹt với việc phải tạo một mảng mới. Bạn có thể sử dụng chức năng
a.shape = (a.size//ncols, ncols)
9 và trộn nó với
a.shape = (a.size//ncols, ncols)
0, chẳng hạn như

>>> a =np.arange(9)
>>> np.resize(a, 10).reshape(5,2)

Đã trả lời ngày 25 tháng 9 năm 2012 lúc 8:03Sep 25, 2012 at 8:03

Pierre Gmpierre GMPierre GM

19.1k3 Huy hiệu vàng54 Huy hiệu bạc65 Huy hiệu Đồng3 gold badges54 silver badges65 bronze badges

0

Thử một cái gì đó như:

B = np.reshape(A,(-1,ncols))

Bạn sẽ cần đảm bảo rằng bạn có thể chia số lượng phần tử trong mảng của mình cho

new = np.reshape(a, (-1, ncols))
1. Bạn cũng có thể chơi với thứ tự trong đó các số được kéo vào
new = np.reshape(a, (-1, ncols))
2 bằng cách sử dụng từ khóa
a.shape = (a.size//ncols, ncols)
5.

Đã trả lời ngày 25 tháng 9 năm 2012 lúc 4:19Sep 25, 2012 at 4:19

JoshadeljoshadelJoshAdel

64K24 Huy hiệu vàng138 Huy hiệu bạc136 Huy hiệu đồng24 gold badges138 silver badges136 bronze badges

Nếu mục đích duy nhất của bạn là chuyển đổi mảng 1D X thành mảng 2D, chỉ cần làm:

X = np.reshape(X,(1, X.size))

Đã trả lời ngày 14 tháng 1 năm 2020 lúc 18:09Jan 14, 2020 at 18:09

Hướng dẫn how do i convert a 1d array to a 2d array in python? - làm cách nào để chuyển đổi mảng 1d sang mảng 2d trong python?

ArunarunArun

6358 Huy hiệu bạc13 Huy hiệu đồng8 silver badges13 bronze badges

Chuyển đổi một mảng 1 chiều thành một mảng 2 chiều bằng cách thêm trục mới.

a=np.array([10,20,30,40,50,60])

b=a[:,np.newaxis]--it will convert it to two dimension.

derloopkat

6.06115 Huy hiệu vàng38 Huy hiệu bạc43 Huy hiệu đồng15 gold badges38 silver badges43 bronze badges

Đã trả lời ngày 10 tháng 1 năm 2021 lúc 4:38Jan 10, 2021 at 4:38

Cũng có một cách đơn giản, chúng ta có thể sử dụng chức năng định hình lại theo một cách khác:

A_reshape = A.reshape(No_of_rows, No_of_columns)

Hướng dẫn how do i convert a 1d array to a 2d array in python? - làm cách nào để chuyển đổi mảng 1d sang mảng 2d trong python?

Tamás Sengel

53.1K29 Huy hiệu vàng156 Huy hiệu bạc202 Huy hiệu đồng29 gold badges156 silver badges202 bronze badges

Đã trả lời ngày 7 tháng 1 năm 2021 lúc 3:07Jan 7, 2021 at 3:07

Hướng dẫn how do i convert a 1d array to a 2d array in python? - làm cách nào để chuyển đổi mảng 1d sang mảng 2d trong python?

1

Bạn có thể sử dụng ____34 từ gói Numpy.

import numpy as np
a = np.array([[1, 2],
       [3, 4],
       [5, 6]])
a_flat = a.flatten()
print(f"original array: {a} \nflattened array = {a_flat}")

Output:

B = np.reshape(A, (-1, 2))
0

Đã trả lời ngày 20 tháng 3 năm 2019 lúc 16:19Mar 20, 2019 at 16:19

Hướng dẫn how do i convert a 1d array to a 2d array in python? - làm cách nào để chuyển đổi mảng 1d sang mảng 2d trong python?

RafirafiRafi

192 Huy hiệu Đồng2 bronze badges

2

B = np.reshape(A, (-1, 2))
1

hoặc nhận một cái mới

B = np.reshape(A, (-1, 2))
2

Điều này sẽ tạo ra kích thước +1, bằng với việc thêm một giá đỡ ở ngoài cùng

Đã trả lời ngày 18 tháng 4 năm 2020 lúc 2:27Apr 18, 2020 at 2:27

Hướng dẫn how do i convert a 1d array to a 2d array in python? - làm cách nào để chuyển đổi mảng 1d sang mảng 2d trong python?

ZDL-soZDL-soZDL-so

3881 Huy hiệu vàng6 Huy hiệu bạc7 Huy hiệu đồng1 gold badge6 silver badges7 bronze badges

B = np.reshape(A, (-1, 2))
3

Hướng dẫn how do i convert a 1d array to a 2d array in python? - làm cách nào để chuyển đổi mảng 1d sang mảng 2d trong python?

Milo

3.2679 Huy hiệu vàng28 Huy hiệu bạc43 Huy hiệu đồng9 gold badges28 silver badges43 bronze badges

Đã trả lời ngày 25 tháng 11 năm 2019 lúc 14:38Nov 25, 2019 at 14:38

Hướng dẫn how do i convert a 1d array to a 2d array in python? - làm cách nào để chuyển đổi mảng 1d sang mảng 2d trong python?

2

Thay đổi mảng 1D thành mảng 2D mà không sử dụng Numpy.

B = np.reshape(A, (-1, 2))
4

Hướng dẫn how do i convert a 1d array to a 2d array in python? - làm cách nào để chuyển đổi mảng 1d sang mảng 2d trong python?

Đã trả lời ngày 6 tháng 9 năm 2019 lúc 10:37Sep 6, 2019 at 10:37

Hướng dẫn how do i convert a 1d array to a 2d array in python? - làm cách nào để chuyển đổi mảng 1d sang mảng 2d trong python?

Làm thế nào để bạn tạo một mảng 1D thành một mảng 2D?

Sử dụng Numpy ...
print(array_2d).
mảng_1d = mảng_2d.Flatten () Flatten `mảng_2d`.
print(array_1d).

Làm cách nào để chuyển đổi một mảng 1D thành 2D Python Numpy?

Chuyển đổi một mảng 1 chiều thành một mảng 2 chiều bằng cách thêm trục mới.a = np.array ([10,20,30,40,50,60]) b = a [:, np.newaxis]-nó sẽ chuyển đổi nó thành hai chiều.a=np. array([10,20,30,40,50,60]) b=a[:,np. newaxis]--it will convert it to two dimension.

Làm thế nào để bạn làm phẳng một mảng 1D trong Python?

Bằng cách sử dụng hàm ndarray.flatten (), chúng ta có thể làm phẳng một ma trận thành một chiều trong python.Đặt hàng: 'C' có nghĩa là làm phẳng trong hàng hàng.'F' có nghĩa là làm phẳng trong cột Cột. flatten() function we can flatten a matrix to one dimension in python. order:'C' means to flatten in row-major. 'F' means to flatten in column-major.

Làm thế nào để bạn chuyển đổi một mảng 1D của các bộ dữ liệu thành một mảng 2D numpy?

Làm thế nào để chuyển đổi một mảng 1D của các bộ dữ liệu thành một mảng 2D numpy?Vâng, có thể chuyển đổi một mảng numpy 1 chiều thành mảng 2 chiều, bằng cách sử dụng "np.reshape ()" Hàm này chúng ta có thể đạt được điều này.by using "np. reshape()" this function we can achiev this.