Bạn có một bảng đối xứng hoặc kích thước ma trận và bạn muốn làm gì đó [tôi. e. đánh giá hoặc chỉ cần in] dựa trên nội dung của ma trận. Vì ma trận đối xứng nên bạn không cần lặp lại trên toàn bộ ma trận. Bạn chỉ có thể lặp lại phần hình tam giác phía trên hoặc chỉ phần hình tam giác phía dưới và nhận được kết quả tương tự. Làm thế nào để làm điều đó trong chương trình?
Khi làm việc với thư viện NumPy, bạn sẽ gặp các tình huống cần lặp qua mảng 1D, 2D và thậm chí cả mảng 3D. Bài viết này sẽ hướng dẫn bạn cách thực hiện nhiệm vụ này
💬 câu hỏi. Làm cách nào chúng ta viết mã để lặp qua mảng NumPy 1D, 2D hoặc 3D?
Chúng ta có thể hoàn thành nhiệm vụ này bằng một trong các tùy chọn sau
- Phương pháp 1. Sử dụng vòng lặp
import numpy as np
6 vàimport numpy as np
7 - Phương pháp 2. Sử dụng vòng lặp
______66
vàatomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']
1 - Phương pháp 3. Sử dụng vòng lặp
______66
vàatomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']
3 - Phương pháp 4. Sử dụng vòng lặp
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']
4 vàatomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']
5 - Phương pháp 5. Sử dụng vòng lặp
______66
vàatomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']
7 - Phương pháp 6. Sử dụng vòng lặp
______66
vàatomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']
9 - Thưởng. CSV sang
import numpy as np
7
Sự chuẩn bị
Trước khi tiếp tục, vui lòng đảm bảo thư viện NumPy đã được cài đặt. Bấm vào đây nếu bạn cần hướng dẫn
Sau đó, thêm đoạn mã sau vào đầu mỗi tập lệnh. Đoạn mã này sẽ cho phép mã trong bài viết này chạy không có lỗi
import numpy as np
Sau khi nhập thư viện NumPy, thư viện này được tham chiếu bằng cách gọi mã ngắn [
atomic_data = np.array[[np.arange[1,6], [0, 2, 4, 5, 6]]] for dim in atomic_data: for d in dim: print[d, end=' ']1]
Phương pháp 1. Sử dụng Vòng lặp For và np. mảng[]
Phương pháp này sử dụng vòng lặp
import numpy as np6 kết hợp với
import numpy as np7 để lặp qua mảng 1D NumPy. Năm [5] Số nguyên tử đầu tiên từ Bảng tuần hoàn được tạo và hiển thị cho ví dụ này
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']
Ở trên, gọi hàm
import numpy as np7 và chuyển nó sang hàm
atomic_data = np.array[[np.arange[1,6], [0, 2, 4, 5, 6]]] for dim in atomic_data: for d in dim: print[d, end=' ']5 với hai [2] đối số. vị trí bắt đầu là một [1] và vị trí dừng là năm [5] hoặc [dừng-1]. Kết quả là một mảng các số nguyên và lưu vào
atomic_data = np.array[[np.arange[1,6], [0, 2, 4, 5, 6]]] for dim in atomic_data: for d in dim: print[d, end=' ']6
atomic_data = np.array[[np.arange[1,6], [0, 2, 4, 5, 6]]] for dim in atomic_data: for d in dim: print[d, end=' ']7
Tiếp theo, một vòng lặp
import numpy as np6 được khởi tạo và lặp qua từng phần tử của mảng 1D NumPy
atomic_data = np.array[[np.arange[1,6], [0, 2, 4, 5, 6]]] for dim in atomic_data: for d in dim: print[d, end=' ']7
Đầu ra được gửi đến thiết bị đầu cuối trên một [1] dòng dưới dạng đối số bổ sung được chuyển đến câu lệnh in [
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']30]. Đối số này thay thế ký tự dòng mới mặc định bằng một khoảng trống
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']31
Hướng dẫn NumPy - Mọi thứ bạn cần biết để bắt đầu
Xem video này trên YouTube
Phương pháp 2. Sử dụng Vòng lặp For và nditer[]
Phương pháp này sử dụng vòng lặp
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']32 kết hợp với
atomic_data = np.array[[np.arange[1,6], [0, 2, 4, 5, 6]]] for dim in atomic_data: for d in dim: print[d, end=' ']8 để lặp qua một mảng NumPy. Dữ liệu năm [5] Số nguyên tử và Số neutron đầu tiên từ màn hình Bảng tuần hoàn cho ví dụ này
atomic_data = np.array[[np.arange[1,6], [0, 2, 4, 5, 6]]] for dim in atomic_data: for d in dim: print[d, end=' ']
Ở trên, gọi hàm
import numpy as np7 và chuyển
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']0 làm đối số đầu tiên và một mảng các giá trị Số nơtron được liên kết làm đối số thứ hai
Tiếp theo, một vòng lặp
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']36 bên ngoài được khởi tạo. Điều này lặp lại qua từng kích thước mảng
Bên trong vòng lặp này, một vòng lặp
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']36 khác được khởi tạo. Vòng lặp bên trong lặp qua từng phần tử của các kích thước trên
Đầu ra được gửi đến thiết bị đầu cuối trên một [1] dòng dưới dạng đối số bổ sung được chuyển đến câu lệnh in [
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']30]. Đối số này thay thế ký tự dòng mới mặc định bằng một khoảng trống
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']39
💡Lưu ý. Thứ nguyên đầu tiên được đánh dấu để dễ dàng phân biệt các thứ nguyên
Phạm vi Python[] Hàm. Hướng dẫn minh họa hữu ích
Xem video này trên YouTube
Phương pháp 3. Sử dụng Vòng lặp For và itertools
Phương pháp này sử dụng vòng lặp
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']32 và thư viện
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']3 tích hợp sẵn của Python để lặp qua một mảng NumPy. Dữ liệu ba [3] Số nguyên tử, Pha và Nhóm đầu tiên từ màn hình Bảng tuần hoàn cho ví dụ này
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']3
Ở trên, nhập thư viện
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']3 để sử dụng hàm
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']73
Sau đó, ba [3] mảng được khai báo chứa dữ liệu liên quan của ba [3] phần tử đầu tiên trong Bảng tuần hoàn. Họ lưu tương ứng vào
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']74,
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']75 và
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']76
Tiếp theo, một vòng lặp
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']32 được khởi tạo và truyền ba [3] đối số bên trong dấu ngoặc đơn
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']78 tham chiếu đến các đối số bên trong hàm
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']79
Một đối số bổ sung [
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']40] cũng được thông qua. Điều này điền vào bất kỳ giá trị còn thiếu nào cho danh sách có độ dài không bằng nhau với giá trị đã nêu
Vòng lặp lặp lại cho đến khi đạt đến cuối mảng, xuất ra thiết bị đầu cuối cho mỗi lần lặp
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']41
Iterators, Iterables và Itertools
Xem video này trên YouTube
Phương pháp 4. Sử dụng Vòng lặp While và Kích thước
Phương pháp này sử dụng vòng lặp
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']42 kết hợp với
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']1 để lặp qua một mảng NumPy. Dữ liệu năm [5] Số nguyên tử, Số neutron và Pha đầu tiên từ màn hình Bảng tuần hoàn cho ví dụ này
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']7
Ở trên, gọi hàm
import numpy as np7 và chuyển một danh sách chứa năm [5] tên phần tử đầu tiên của Bảng tuần hoàn. Những kết quả này lưu vào
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']45
Sau đó, một biến,
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']46, được khai báo với giá trị bắt đầu bằng 0 [
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']47]. Đây sẽ là một biến đếm và cho phép vòng lặp
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']4 biết khi nào nên dừng lặp lại
Tiếp theo, một vòng lặp
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']42 được khởi tạo và lặp qua các phần tử của
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']45. Điều này sẽ tiếp tục trong khi giá trị của
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']46 vẫn nhỏ hơn giá trị của
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']62
Đầu ra được gửi đến thiết bị đầu cuối trên một [1] dòng dưới dạng đối số bổ sung được chuyển đến câu lệnh in [
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']30]. Đối số này thay thế ký tự dòng mới mặc định bằng một khoảng trống
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']64
Phương pháp 5. Sử dụng Vòng lặp For và np. ndenumerate[]
Phương thức này sử dụng vòng lặp
và import numpy as np
6
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']7 để lặp qua một mảng NumPy. Năm [5] tên nguyên tố đầu tiên từ bảng tuần hoàn hiển thị cho ví dụ này.
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']4
Ở trên, gọi hàm
import numpy as np7 và truyền cho nó một mảng chứa năm [5] tên phần tử đầu tiên từ Bảng tuần hoàn. Kết quả lưu vào
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']45
Tiếp theo, một vòng lặp
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']32 được khởi tạo tham chiếu đến
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']30 là chỉ số của mảng và
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']31, là giá trị của phần tử mảng
Đầu ra được gửi đến thiết bị đầu cuối. Sau đó,
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']30 hiển thị một
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']33 chứa giá trị chỉ mục của mảng và sau đó là giá trị của
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']31 cho mỗi lần lặp lại
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']35
Phương pháp 6. Sử dụng Vòng lặp For và phạm vi []
Phương pháp này sử dụng vòng lặp
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']5 và
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']9] để lặp qua mảng 3D NumPy
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']6
Ở trên khai báo một mảng 3D NumPy chứa các số liên tiếp từ 1-29. Chúng lưu vào
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']38
Tiếp theo, ba [3] vòng lặp
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']5 được khởi tạo để lặp qua và xuất nội dung của
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']38 đến thiết bị đầu cuối một [1] số trên mỗi dòng
Ví dụ, hàm range[] cho mỗi vòng lặp dựa trên kích thước của mảng 3D Numpy
- Vòng lặp đầu tiên [
import numpy as np
61] xác định tổng số lần kéo trong mảng
- Vòng lặp tiếp theo [
import numpy as np
62] xác định số cột trong mảng
- Vòng lặp cuối cùng [
import numpy as np
63] xác định các phần tử trong mỗi cột của mảng
Cuối cùng, đầu ra được gửi đến thiết bị đầu cuối [chỉ đoạn mã]
import numpy as np64
Thưởng. Chuyển đổi CSV sang np. mảng[]
Ví dụ này đọc trong một đoạn của Bảng tuần hoàn dưới dạng tệp CSV. Dữ liệu này được chuyển đổi thành một mảng NumPy và được xuất ra thiết bị đầu cuối
Tệp CSV bên dưới chứa các giá trị của Số nguyên tử, Khối lượng nguyên tử, Số neutron và Số electron cho bảy [7] nguyên tố đầu tiên trong Bảng tuần hoàn
Nội dung của
import numpy as np65
import numpy as np66
Để làm theo, hãy lưu tệp này dưới dạng
import numpy as np65 và di chuyển tệp vào thư mục làm việc hiện tại
Trước khi tiếp tục, vui lòng đảm bảo thư viện Pandas đã được cài đặt. Bấm vào đây nếu bạn cần hướng dẫn
atomic_els = np.array[np.arange[1,6]] for el in atomic_els: print[el, end=' ']3
Ở trên, nhập thư viện Pandas và thư viện CSV. Điều này là cần thiết để làm việc với DataFrames và đọc trong tệp CSV
Sau đó, một tên tệp được khai báo và lưu vào
import numpy as np68
Trên dòng được đánh dấu, hàm
import numpy as np7 được gọi và truyền các đối số sau
- Hàm
import numpy as np
70 được truyền dưới dạng đối số và đối số này truyền phương thứcimport numpy as np
71 để mở tệp CSV được chỉ định ở chế độ đọc [import numpy as np
72], bao gồm dấu phân cáchimport numpy as np
73 [import numpy as np
74] - Nội dung của tệp CSV chuyển đổi thành danh sách
- Danh sách này chuyển thành một
import numpy as np
7
Kết quả lưu vào
import numpy as np76 và xuất ra terminal
import numpy as np77
10 phút để gấu trúc trong 5 phút [Được rồi 8]
Xem video này trên YouTube
Tóm lược
Bảy [7] phương pháp lặp mảng NumPy này sẽ cung cấp cho bạn đủ thông tin để chọn phương pháp tốt nhất cho các yêu cầu viết mã của bạn