example_array. py ______0
Này - Nick đây. Trang này là một đoạn trích miễn phí từ khóa học $199 Python for Finance của tôi, khóa học này được giảm giá 50% cho 50 học viên tiếp theo
Nếu bạn muốn tham gia khóa học đầy đủ, hãy nhấp vào đây để đăng ký
Trong bài học này, chúng ta sẽ khám phá lập chỉ mục và gán trong mảng NumPy
Mảng tôi sẽ sử dụng trong bài học này
Như trước đây, tôi sẽ sử dụng một mảng cụ thể thông qua bài học này. Lần này nó sẽ được tạo bằng phương pháp
array[[0.69292946, 0.9365295 , 0.65682359, 0.72770856, 0.83268616]]
5. Đây là cách tôi tạo mảngarr = np.random.rand[5]
Đây là mảng thực tế
array[[0.69292946, 0.9365295 , 0.65682359, 0.72770856, 0.83268616]]
Để làm cho mảng này dễ nhìn hơn, tôi sẽ làm tròn mọi phần tử của mảng đến 2 chữ số thập phân bằng cách sử dụng phương thức
array[[0.69292946, 0.9365295 , 0.65682359, 0.72770856, 0.83268616]]
6 của NumPyarr = np.round[arr, 2]
Đây là mảng mới
array[[0.69, 0.94, 0.66, 0.73, 0.83]]
Cách trả về một phần tử cụ thể từ một mảng NumPy
Chúng ta có thể chọn [và trả về] một phần tử cụ thể từ một mảng NumPy giống như cách chúng ta có thể sử dụng danh sách Python bình thường. sử dụng dấu ngoặc vuông
Một ví dụ dưới đây
arr[0]
#Returns 0.69
Chúng ta cũng có thể tham chiếu nhiều phần tử của mảng NumPy bằng toán tử dấu hai chấm. Ví dụ: chỉ số
array[[0.69292946, 0.9365295 , 0.65682359, 0.72770856, 0.83268616]]
7 chọn mọi phần tử từ chỉ số 2 trở đi. Chỉ mục array[[0.69292946, 0.9365295 , 0.65682359, 0.72770856, 0.83268616]]
8 chọn mọi phần tử cho đến và loại trừ chỉ mục 3. Chỉ mục array[[0.69292946, 0.9365295 , 0.65682359, 0.72770856, 0.83268616]]
9 trả về mọi phần tử từ chỉ mục 2 đến chỉ mục 4, ngoại trừ chỉ mục 4. Điểm cuối cao hơn luôn bị loại trừDưới đây là một số ví dụ về lập chỉ mục bằng toán tử dấu hai chấm
array[[0.69292946, 0.9365295 , 0.65682359, 0.72770856, 0.83268616]]
1Gán phần tử trong mảng NumPy
Chúng ta có thể gán giá trị mới cho một phần tử của mảng NumPy bằng cách sử dụng toán tử
arr = np.round[arr, 2]
0, giống như danh sách python thông thường. Dưới đây là một vài ví dụ [lưu ý rằng đây là tất cả một khối mã, có nghĩa là việc gán thành phần được chuyển từ bước này sang bước khác]array[[0.69292946, 0.9365295 , 0.65682359, 0.72770856, 0.83268616]]
3Trong [ ]
```mảng[2. 5] = 0. 5
mảng
Trả về mảng[[0. , 0. , 0. 5, 0. 5, 0. 5]]array[[0.69292946, 0.9365295 , 0.65682359, 0.72770856, 0.83268616]]
4Như bạn có thể thấy, sửa đổi
arr = np.round[arr, 2]
1 cũng thay đổi giá trị của arr = np.round[arr, 2]
2Tại sao lại thế này?
Theo mặc định, NumPy không tạo bản sao của một mảng khi bạn tham chiếu biến mảng ban đầu bằng cách sử dụng toán tử gán
arr = np.round[arr, 2]
0. Thay vào đó, nó chỉ trỏ biến mới đến biến cũ, cho phép biến thứ hai thực hiện sửa đổi đối với biến ban đầu - ngay cả khi đây không phải là ý định của bạnĐiều này có vẻ kỳ lạ, nhưng nó có một lời giải thích hợp lý. Mục đích của tham chiếu mảng là để tiết kiệm sức mạnh tính toán. Khi làm việc với các tập dữ liệu lớn, bạn sẽ nhanh chóng hết RAM nếu tạo một mảng mới mỗi khi muốn làm việc với một lát của mảng
May mắn thay, có một cách giải quyết để tham chiếu mảng. Bạn có thể sử dụng phương thức
arr = np.round[arr, 2]
4 để sao chép rõ ràng một mảng NumPyMột ví dụ về điều này là dưới đây
array[[0.69292946, 0.9365295 , 0.65682359, 0.72770856, 0.83268616]]
9Như bạn có thể thấy bên dưới, việc sửa đổi mảng đã sao chép không làm thay đổi mảng ban đầu
arr = np.random.rand[5]
0Cho đến giờ trong bài học, chúng ta mới chỉ khám phá cách tham chiếu mảng NumPy một chiều. Bây giờ chúng ta sẽ khám phá việc lập chỉ mục của mảng hai chiều
Lập chỉ mục mảng NumPy hai chiều
Để bắt đầu, hãy tạo một mảng NumPy hai chiều có tên là
arr = np.round[arr, 2]
5array[[0.69292946, 0.9365295 , 0.65682359, 0.72770856, 0.83268616]]
0Có hai cách để lập chỉ mục một mảng NumPy hai chiều
6arr = np.round[arr, 2]
7arr = np.round[arr, 2]
Cá nhân tôi thích lập chỉ mục bằng cách sử dụng danh pháp
arr = np.round[arr, 2]
7 vì nó dễ hình dung hơn theo cách từng bước. Ví dụarray[[0.69292946, 0.9365295 , 0.65682359, 0.72770856, 0.83268616]]
1Bạn cũng có thể tạo ma trận con từ mảng NumPy hai chiều bằng cách sử dụng ký hiệu này
array[[0.69292946, 0.9365295 , 0.65682359, 0.72770856, 0.83268616]]
2Tham chiếu mảng cũng áp dụng cho mảng hai chiều trong NumPy, vì vậy hãy đảm bảo sử dụng phương thức
arr = np.round[arr, 2]
4 nếu bạn muốn tránh vô tình sửa đổi mảng ban đầu sau khi lưu một phần của mảng đó vào một tên biến mớiLựa chọn có điều kiện bằng cách sử dụng mảng NumPy
Mảng NumPy hỗ trợ một tính năng có tên là
array[[0.69, 0.94, 0.66, 0.73, 0.83]]
0, cho phép bạn tạo một mảng giá trị boolean mới cho biết mỗi phần tử trong mảng có thỏa mãn một câu lệnh array[[0.69, 0.94, 0.66, 0.73, 0.83]]
1 cụ thể hay khôngDưới đây là một ví dụ về điều này [Tôi cũng đã tạo lại biến
array[[0.69, 0.94, 0.66, 0.73, 0.83]]
2 ban đầu của mình vì đã lâu rồi chúng ta mới thấy nó]array[[0.69292946, 0.9365295 , 0.65682359, 0.72770856, 0.83268616]]
3Bạn cũng có thể tạo một mảng giá trị mới thỏa mãn điều kiện này bằng cách chuyển điều kiện vào trong dấu ngoặc vuông [giống như cách chúng ta làm để lập chỉ mục]
Một ví dụ về điều này là dưới đây
array[[0.69292946, 0.9365295 , 0.65682359, 0.72770856, 0.83268616]]
4Lựa chọn có điều kiện có thể trở nên phức tạp hơn nhiều so với điều kiện này. Chúng ta sẽ khám phá thêm các ví dụ trong các vấn đề thực hành liên quan của phần này
tiếp tục
Trong bài học này, chúng ta đã tìm hiểu chi tiết về cách lập chỉ mục và gán mảng NumPy. Chúng tôi sẽ củng cố thêm kiến thức của bạn về các khái niệm này bằng cách giải quyết một loạt các vấn đề thực hành trong phần tiếp theo