Hướng dẫn split array into subarrays python - chia mảng thành các mảng con python
Tách mảng numpyTách là hoạt động ngược của tham gia. Show
Tham gia hợp nhất nhiều mảng thành một và chia tách một mảng thành nhiều mảng. Chúng tôi sử dụng 3 để phân tách mảng, chúng tôi vượt qua mảng chúng tôi muốn chia và số lượng chia tách.Thí dụChia mảng thành 3 phần: nhập khẩu NUMPY dưới dạng NP mảng = np.array ([1, 2, 3, 4, 5, 6])) newarr = np.array_split (mảng, 3) print(newarr) Hãy tự mình thử » Lưu ý: Giá trị trả về là một mảng chứa ba mảng. The return value is an array containing three arrays. Nếu mảng có ít phần tử hơn yêu cầu, nó sẽ điều chỉnh từ cuối. Thí dụChia mảng thành 3 phần: nhập khẩu NUMPY dưới dạng NP mảng = np.array ([1, 2, 3, 4, 5, 6])) newarr = np.array_split (mảng, 3) Hãy tự mình thử » Hãy tự mình thử » Lưu ý: Giá trị trả về là một mảng chứa ba mảng. We also have the method 4 available but it will not adjust the elements when elements are less in source array for splitting like in example above, 3 worked properly but 4 would fail.Nếu mảng có ít phần tử hơn yêu cầu, nó sẽ điều chỉnh từ cuối.Chia mảng thành 4 phần: newarr = np.array_split (mảng, 4) Thí dụChia mảng thành 3 phần: nhập khẩu NUMPY dưới dạng NP mảng = np.array ([1, 2, 3, 4, 5, 6])) newarr = np.array_split (mảng, 3) print(newarr[0])print(newarr[1])print(newarr[2]) Hãy tự mình thử » Lưu ý: Giá trị trả về là một mảng chứa ba mảng.Nếu mảng có ít phần tử hơn yêu cầu, nó sẽ điều chỉnh từ cuối. Chia mảng thành 4 phần: Thí dụChia mảng thành 3 phần: nhập khẩu NUMPY dưới dạng NP mảng = np.array ([1, 2, 3, 4, 5, 6])) newarr = np.array_split (mảng, 3) print(newarr) Hãy tự mình thử » Lưu ý: Giá trị trả về là một mảng chứa ba mảng. Nếu mảng có ít phần tử hơn yêu cầu, nó sẽ điều chỉnh từ cuối. Thí dụChia mảng thành 3 phần: nhập khẩu NUMPY dưới dạng NP mảng = np.array ([1, 2, 3, 4, 5, 6])) newarr = np.array_split (mảng, 3) print(newarr) Hãy tự mình thử » Lưu ý: Giá trị trả về là một mảng chứa ba mảng. Nếu mảng có ít phần tử hơn yêu cầu, nó sẽ điều chỉnh từ cuối. Chia mảng thành 4 phần: Thí dụnewarr = np.array_split (mảng, 4) nhập khẩu NUMPY dưới dạng NP mảng = np.array ([1, 2, 3, 4, 5, 6])) newarr = np.array_split (mảng, 3) Hãy tự mình thử » Hãy tự mình thử » Lưu ý: Giá trị trả về là một mảng chứa ba mảng. Thí dụNếu mảng có ít phần tử hơn yêu cầu, nó sẽ điều chỉnh từ cuối. nhập khẩu NUMPY dưới dạng NP mảng = np.array ([1, 2, 3, 4, 5, 6])) newarr = np.array_split (mảng, 3) Hãy tự mình thử » Hãy tự mình thử » Lưu ý: Giá trị trả về là một mảng chứa ba mảng. Similar alternates to 2 and 3 are available as 4 and 5.
6 phút đọc Trong bài đăng này, chúng ta sẽ thấy cách chia một mảng 2D Numpy bằng cách sử dụng Split, Array_Split, HSplit, VSplit và DSplit. Các chức năng phân chia này cho phép bạn phân vùng mảng theo hình dạng và kích thước khác nhau và danh sách trả về Subarrays
Tách raPhương pháp này thực hiện sau ba đối số và danh sách trả về các mảng phụ. Mảng sẽ được chia thành n mảng bằng nhau dọc theo trục. Nếu không thể phân chia như vậy, một lỗi được nêu ra Mảng: một đối tượng ndarray cho phân vùng Ictices_or_sections: Int hoặc 1D Axis: Trục: An ndarray object for partition indices_or_sections: int or 1D array axis: the axis along which to split Tách mảng 1DHãy để tạo ra một mảng 1D trước tiên
Hãy để phân chia mảng 1-D trên thành 5 phần bằng cách sử dụng phương thức numpy split ()
Tiếp theo, chúng tôi sẽ vượt qua một mảng 1-D cho phân vùng của x, tức là danh sách các chỉ số dọc theo mảng nào được chia thành các mảng con
Chúng tôi đã vượt qua danh sách chỉ số 1D [4, 6, 7, 9] để phân vùng để X được chia thành Subarrays sau: Phân vùng đầu tiên: Chỉ mục 0 đến 3 vì phần tử 1 trong danh sách chỉ số 1D là 4 mảng ([0, 1, 2, 3]) Phân vùng thứ 2: Chỉ mục 4 đến 5 trong phần tử 1 và 2 của mảng danh sách chỉ số 1D ([4,5]) Phân vùng thứ 3: Chỉ mục 6 đến 6 giữa phần tử thứ 2 và thứ 3 của mảng danh sách chỉ số 1D ([6]) Phân vùng thứ 4: Chỉ mục 7 đến 8 giữa phần tử thứ 3 và thứ 4 của mảng danh sách chỉ số 1D ([7,8]) Phân vùng thứ 5: Chỉ mục 9 đến cuối cùng giữa phần tử thứ 4 và chỉ mục cuối cùng của mảng danh sách chỉ số ([9]) Tách mảng 2DHãy để tạo ra một mảng 2D trước tiên
Chúng tôi sẽ chia mảng 2D trên thành mảng phụ bằng danh sách chỉ số của [1,3]
Phân vùng đầu tiên: INDEX 0 dọc theo trục = 0 vì phần tử 1 trong danh sách chỉ số là 1 mảng ([0,1,2,3])) Phân vùng thứ 2: INDEX 1 đến 2 dọc theo trục = 0 trong phần tử thứ 1 và thứ 3 trong mảng danh sách chỉ số ([0,1,2,3]) Phân vùng thứ 3: Chỉ mục 3 đến 3 dọc theo trục = 0 giữa phần tử thứ 3 của danh sách chỉ số và chỉ mục cuối cùng của mảng 2D, tức là 3 mảng ([0,1,2,3]) Array_SplitPhương pháp này giống như phân chia ở trên và chỉ có sự khác biệt là nó cũng cho phép phân vùng không đồng đều Đây là một mảng 2D mà chúng tôi sẽ chia thành Subarrays không đồng đều
Hãy để chia thành 3 để không thể phân vùng bằng nhau, vì vậy hãy để xem cách thức hoạt động của nó 0Nếu L là chiều dài của mảng và N là không mong đợi. của parition of the mảng sau đó Nó trả về l % n ròng phụ có kích thước l // n + 1, là 1 subarray có kích thước 2 và con con đầu tiên ở trên là mảng ([[0, 1, 2, 3], [4, 5, 6, 7, 7, ]]) Hai subarrays khác sẽ có kích thước l // n tức là 1 và điều đó cho hai mảng mảng phụ này ([[8, 9, 10, 11]]), mảng ([[12, 13, 14, 15]]) Chia mảng theo cột bằng cách sử dụng hsplitChia một mảng thành nhiều phần phụ theo chiều ngang (cột khôn ngoan). HSPLIT tương đương với phân tách với trục = 1 Mảng luôn được chia theo trục thứ hai bất kể kích thước mảng 1 2Tiếp theo, chúng tôi sẽ phân chia mảng trên tại INDEX 2 3Điều này chia một mảng 5 × 4 thành hai mảng 5x2 Hãy cùng đưa ra một danh sách các chỉ số để chia 4Nó chia thành 3 Subarrays. Cái đầu tiên có kích thước 5x3 và thứ hai của kích thước 5x1 và thứ ba là một mảng trống Chúng tôi đã thảo luận điều này rằng đầu tiên nó chia tách từ 0 đến 2 vì chỉ mục đầu tiên cho phân chia là 3 và thứ hai giữa các chỉ số 3 và 4 vì phần tử thứ hai là 5 và cuối cùng bất cứ điều gì ngoài Chỉ số 5 Tách mảng theo hàng bằng VSPLITChia một mảng thành nhiều mảng phụ theo chiều dọc (hàng khôn) ________ 36 & nbsp; tương đương với & nbsp; ________ 37 & nbsp; với & nbsp; trục = 0 & nbsp; Điều này hoạt động giống hệt như chức năng phân chia đã thảo luận ở trên Tách các mảng dọc theo trục thứ ba, tức là trục = 2 bằng cách sử dụng DSplitChia mảng thành nhiều mảng phụ dọc theo trục thứ 3 (độ sâu) DSplit tương đương với phân chia với trục = 2. Mảng luôn được phân chia dọc theo trục thứ ba với kích thước mảng lớn hơn hoặc bằng 3 5 6Hãy để phân chia mảng này dọc theo danh sách các chỉ số sau [2,3] 7 8Vì vậy, nó chia một ma trận 2x2x6 thành ba kích thước subarrays: 2x2x2, 2x2x1 và 2x2x3 Tách các mảng ở các giá trịNếu chúng ta muốn chia một mảng ở một giá trị cụ thể thì chỉ cần sử dụng np. Where để tìm chỉ mục của giá trị đó và truyền đó làm tham số để chia tách 9 0Hãy để phân chia mảng này ở giá trị 6. Vì vậy, trước tiên chúng tôi sẽ xác định chỉ số của phần tử này trong mảng bằng phương thức np.where () 1 2Vì vậy, nó chia một ma trận 8 × 2 thành 3 mảng phụ không đồng đều có kích thước sau: 3 × 2, 3 × 2 và 2 × 2 Sự kết luậnDưới đây là những điểm để tóm tắt việc học của chúng tôi về việc tách mảng bằng cách sử dụng Numpy
Làm cách nào để chia một mảng thành K Subarrays?Nhiệm vụ là chia mảng thành các phần K (subarray) sao cho tổng của các giá trị của tất cả Subarray là tối thiểu ... Lấy tối đa từ Subarray đó .. Trừ từng phần tử của subarray với mức tối đa .. Lấy tổng của tất cả các giá trị sau khi trừ .. Làm thế nào để bạn chia một mảng trong Python?Sử dụng phương thức Array_Split (), vượt qua trong mảng bạn muốn chia và số lượng phân chia bạn muốn làm., pass in the array you want to split and the number of splits you want to do.
Làm thế nào để bạn chia một mảng đa chiều trong Python?Một mảng cần nhập rõ ràng mô -đun mảng để khai báo.Một mảng 2D chỉ đơn giản là một mảng mảng.Phương thức numpy.array_split () trong python được sử dụng để chia một mảng 2D thành nhiều mảng con có kích thước bằng nhau.numpy. array_split() method in Python is used to split a 2D array into multiple sub-arrays of equal size.
Làm thế nào để bạn chia một ma trận trong một nửa python?Hàm Hsplit () được sử dụng để chia một mảng thành nhiều phần phụ theo chiều ngang (khôn ngoan cột).HSplit tương đương với phân tách với trục = 1, mảng luôn được phân chia dọc theo trục thứ hai bất kể kích thước mảng.hsplit() function is used to split an array into multiple sub-arrays horizontally (column-wise). hsplit is equivalent to split with axis=1, the array is always split along the second axis regardless of the array dimension. |