Phần tử Python bổ sung khôn ngoan
Nhận toàn quyền truy cập vào Thao tác dữ liệu trong Python - Master Python, NumPy và Pandas và hơn 60 nghìn tựa game khác, với bản dùng thử miễn phí 10 ngày của O'Reilly Show Ngoài ra còn có các sự kiện trực tuyến trực tiếp, nội dung tương tác, tài liệu chuẩn bị chứng nhận, v.v. Mô-đun con thực hiện đại số tuyến tính cơ bản, chẳng hạn như giải các hệ tuyến tính, phân tách giá trị số ít, v.v. Tuy nhiên, nó không đảm bảo được biên dịch bằng cách sử dụng các quy trình hiệu quả và do đó chúng tôi khuyên bạn nên sử dụng , như được trình bày chi tiết trong phần Thực hiện các thao tác khác
Tính tổng>>> b = np.ones(4) + 1 >>> a - b array([-1., 0., 1., 2.]) >>> a * b array([2., 4., 6., 8.]) >>> j = np.arange(5) >>> 2**(j + 1) - j array([ 2, 3, 6, 13, 28])2 Tính tổng theo hàng và theo cột >>> b = np.ones(4) + 1 >>> a - b array([-1., 0., 1., 2.]) >>> a * b array([2., 4., 6., 8.]) >>> j = np.arange(5) >>> 2**(j + 1) - j array([ 2, 3, 6, 13, 28])3 Mẹo Ý tưởng tương tự ở kích thước cao hơn >>> b = np.ones(4) + 1 >>> a - b array([-1., 0., 1., 2.]) >>> a * b array([2., 4., 6., 8.]) >>> j = np.arange(5) >>> 2**(j + 1) - j array([ 2, 3, 6, 13, 28])4 giảm khác— hoạt động theo cùng một cách (và lấy >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])5) Cực đoan >>> b = np.ones(4) + 1 >>> a - b array([-1., 0., 1., 2.]) >>> a * b array([2., 4., 6., 8.]) >>> j = np.arange(5) >>> 2**(j + 1) - j array([ 2, 3, 6, 13, 28])5 Các phép toán logic >>> b = np.ones(4) + 1 >>> a - b array([-1., 0., 1., 2.]) >>> a * b array([2., 4., 6., 8.]) >>> j = np.arange(5) >>> 2**(j + 1) - j array([ 2, 3, 6, 13, 28])6 Ghi chú Có thể được sử dụng để so sánh mảng >>> b = np.ones(4) + 1 >>> a - b array([-1., 0., 1., 2.]) >>> a * b array([2., 4., 6., 8.]) >>> j = np.arange(5) >>> 2**(j + 1) - j array([ 2, 3, 6, 13, 28])7 Số liệu thống kê >>> b = np.ones(4) + 1 >>> a - b array([-1., 0., 1., 2.]) >>> a * b array([2., 4., 6., 8.]) >>> j = np.arange(5) >>> 2**(j + 1) - j array([ 2, 3, 6, 13, 28])8 … và nhiều hơn nữa (tốt nhất để tìm hiểu khi bạn đi) Tập thể dục. giảm
Ví dụ đã làm việc. khuếch tán sử dụng thuật toán đi bộ ngẫu nhiên Mẹo Chúng ta hãy xem xét một quá trình đi bộ ngẫu nhiên 1D đơn giản. tại mỗi thời điểm, người đi bộ nhảy sang phải hoặc trái với xác suất bằng nhau Chúng tôi quan tâm đến việc tìm khoảng cách điển hình từ điểm gốc của một người đi bộ ngẫu nhiên sau khi nhảy sang trái hoặc phải >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])9? . chúng ta sẽ tạo một mảng 2D với các “câu chuyện” (mỗi người đi bộ có một câu chuyện) theo một hướng và thời gian theo hướng khác >>> b = np.ones(4) + 1 >>> a - b array([-1., 0., 1., 2.]) >>> a * b array([2., 4., 6., 8.]) >>> j = np.arange(5) >>> 2**(j + 1) - j array([ 2, 3, 6, 13, 28])9 Chúng tôi chọn ngẫu nhiên tất cả các bước 1 hoặc -1 của bước đi >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])60 Chúng tôi xây dựng các bước đi bằng cách tổng hợp các bước theo thời gian >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])61 Chúng tôi có ý nghĩa trong trục của những câu chuyện >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])62 Vẽ đồ thị kết quả >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])63 Chúng tôi tìm thấy một kết quả nổi tiếng trong vật lý. khoảng cách RMS tăng theo căn bậc hai của thời gian
Hình ảnh dưới đây đưa ra một ví dụ về phát sóng Hãy xác minh >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])64 Chúng tôi đã sử dụng phát sóng mà không biết >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])65 Một thủ thuật hữu ích >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])66 Mẹo Phát sóng có vẻ hơi kỳ diệu, nhưng thực ra nó khá tự nhiên khi sử dụng nó khi chúng ta muốn giải quyết vấn đề có dữ liệu đầu ra là một mảng có nhiều chiều hơn dữ liệu đầu vào Ví dụ đã làm việc. Phát thanh truyền hình Hãy xây dựng một mảng khoảng cách (tính bằng dặm) giữa các thành phố của Tuyến đường 66. Chicago, Springfield, Saint-Louis, Tulsa, Oklahoma City, Amarillo, Santa Fe, Albuquerque, Flagstaff và Los Angeles >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])67 Rất nhiều vấn đề dựa trên lưới hoặc dựa trên mạng cũng có thể sử dụng phát sóng. Chẳng hạn, nếu chúng ta muốn tính khoảng cách từ gốc của các điểm trên lưới 5x5, chúng ta có thể thực hiện >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])68 Hoặc có màu >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])69 Nhận xét. hàm >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])01 cho phép tạo trực tiếp các vectơ x và y của ví dụ trước, với hai "chiều quan trọng" >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])80 Mẹo Vì vậy, >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])02 rất hữu ích ngay khi chúng ta phải xử lý các tính toán trên lưới. Mặt khác, >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])03 cung cấp trực tiếp các ma trận có đầy đủ các chỉ số cho các trường hợp chúng tôi không thể (hoặc không muốn) hưởng lợi từ việc phát sóng >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])81 Xem thêm thảo luận về phát sóng trong chương làm phẳng>>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])82 Kích thước cao hơn. kích thước cuối cùng thoát ra "đầu tiên" định hình lạiHoạt động nghịch đảo để làm phẳng >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])83 Hoặc, >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])84 Cảnh báo >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])04 có thể trả lại một lượt xem (cf >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])05)) hoặc sao chép Mẹo >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])85 coi chừng. định hình lại cũng có thể trả lại một bản sao >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])86 Để hiểu điều này bạn cần tìm hiểu thêm về cách bố trí bộ nhớ của một mảng có nhiều mảng Thêm một thứ nguyênLập chỉ mục với đối tượng >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])06 cho phép chúng ta thêm một trục vào một mảng (bạn đã thấy điều này ở trên trong phần phát sóng) >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])87 Xáo trộn thứ nguyên>>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])88 Cũng tạo ra một cái nhìn >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])89 Thay đổi kích thướcKích thước của một mảng có thể được thay đổi bằng >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([4, 2, 2, 4]) >>> a == b array([False, True, False, True]) >>> a > b array([False, False, True, False])07 >>> b = np.ones(4) + 1 >>> a - b array([-1., 0., 1., 2.]) >>> a * b array([2., 4., 6., 8.]) >>> j = np.arange(5) >>> 2**(j + 1) - j array([ 2, 3, 6, 13, 28])40 Tuy nhiên, nó không được đề cập đến một nơi nào khác >>> b = np.ones(4) + 1 >>> a - b array([-1., 0., 1., 2.]) >>> a * b array([2., 4., 6., 8.]) >>> j = np.arange(5) >>> 2**(j + 1) - j array([ 2, 3, 6, 13, 28])41 Tập thể dục. Thao tác hình dạng
Sắp xếp dọc theo một trục >>> b = np.ones(4) + 1 >>> a - b array([-1., 0., 1., 2.]) >>> a * b array([2., 4., 6., 8.]) >>> j = np.arange(5) >>> 2**(j + 1) - j array([ 2, 3, 6, 13, 28])42 Ghi chú Sắp xếp riêng từng hàng sắp xếp tại chỗ >>> b = np.ones(4) + 1 >>> a - b array([-1., 0., 1., 2.]) >>> a * b array([2., 4., 6., 8.]) >>> j = np.arange(5) >>> 2**(j + 1) - j array([ 2, 3, 6, 13, 28])43 Sắp xếp với chỉ mục ưa thích >>> b = np.ones(4) + 1 >>> a - b array([-1., 0., 1., 2.]) >>> a * b array([2., 4., 6., 8.]) >>> j = np.arange(5) >>> 2**(j + 1) - j array([ 2, 3, 6, 13, 28])44 Tìm cực tiểu và cực đại >>> b = np.ones(4) + 1 >>> a - b array([-1., 0., 1., 2.]) >>> a * b array([2., 4., 6., 8.]) >>> j = np.arange(5) >>> 2**(j + 1) - j array([ 2, 3, 6, 13, 28])45 Tập thể dục. Sắp xếp
Bạn cần biết gì để bắt đầu?
đọc nhanh Nếu bạn muốn lướt nhanh qua các bài giảng Scipy đầu tiên để tìm hiểu hệ sinh thái, bạn có thể chuyển trực tiếp sang chương tiếp theo. Phần còn lại của chương này là không cần thiết để làm theo phần còn lại của phần giới thiệu. Nhưng hãy nhớ quay lại và hoàn thành chương này, cũng như làm thêm một số điều nữa Bạn có thể sử dụng += với danh sách Python không?Các toán tử + và * có thể được sử dụng để nối danh sách và nhân danh sách. Các toán tử ghép += và *= có thể nối danh sách, nhân danh sách và chuyển danh tính mới vào danh sách ban đầu .
Bạn có thể thêm các danh sách lại với nhau bằng Python không?Có một số cách để tham gia hoặc nối hai hoặc nhiều danh sách trong Python. Một trong những cách dễ nhất là sử dụng toán tử + . |