Mục tiêu công thức
Phải cố gắng thực hiện bất kỳ chức năng toán học nào trên tất cả các giá trị của một tính năng. Làm thủ công có thể là một công việc bận rộn.
Vì vậy, đây là công thức về cách chúng ta có thể chia từng phần tử của một ma trận cho một giá trị số.
Bước 1 - Nhập thư viện
import numpy as np
Chúng tôi chỉ nhập khẩu Numpy cần thiết.
Bước 2 - Tạo ma trận
Chúng tôi đã tạo một ma trận mà chúng tôi sẽ thực hiện thao tác.
myList = [10,20,30,40,50,60,70,80,90]
myInt = 10
newList = myList/myInt
0Bước 3 - Chia từng yếu tố
Đầu tiên chúng ta đã tạo ra một chức năng Lambda giống như vòng lặp vì nó sẽ lặp lại hàm được xác định cho tất cả các yếu tố. Sau đó, chúng tôi đã chuyển đổi martix thành một dạng vector và cuối cùng chúng tôi đã vượt qua ma trận trong hàm.
myList = [10,20,30,40,50,60,70,80,90]
myInt = 10
newList = myList/myInt
1 Vì vậy, đầu ra là[[0.22222222 0.33333333 2.55555556] [0.55555556 0.66666667 2.77777778] [0.88888889 1. 3.11111111]]
Tôi chỉ muốn chia từng phần tử trong một danh sách cho một int.
myList = [10,20,30,40,50,60,70,80,90]
myInt = 10
newList = myList/myInt
Đây là lỗi:
TypeError: unsupported operand type[s] for /: 'list' and 'int'
Tôi hiểu tại sao tôi nhận được lỗi này. Nhưng tôi thất vọng vì tôi không thể tìm thấy một giải pháp.
Cũng đã thử:
newList = [ a/b for a, b in [myList,myInt]]
Error:
ValueError: too many values to unpack
Kết quả dự kiến:
newList = [1,2,3,4,5,6,7,8,9]
EDIT:
Mã sau đây cho tôi kết quả dự kiến của tôi:
newList = []
for x in myList:
newList.append[x/myInt]
Nhưng có một cách dễ dàng hơn/nhanh hơn để làm điều này?
Chia đối số yếu tố khôn ngoan.
Parametersx1array_likex1array_likeMảng cổ tức.
x2array_likearray_likeMảng chia. Nếu
myList = [10,20,30,40,50,60,70,80,90]
myInt = 10
newList = myList/myInt
2, chúng phải được phát theo hình dạng chung [trở thành hình dạng của đầu ra].outndarray, không có, hoặc tuple của ndarray và không có, tùy chọnndarray, None, or tuple of ndarray and None, optionalMột vị trí mà kết quả được lưu trữ. Nếu được cung cấp, nó phải có một hình dạng mà các đầu vào phát sóng. Nếu không được cung cấp hoặc không có, một mảng mới được phân bổ được trả lại. Một tuple [chỉ có thể là đối số từ khóa] phải có độ dài bằng số lượng đầu ra.
wherearray_like, tùy chọnarray_like, optionalĐiều kiện này được phát trên đầu vào. Tại các vị trí mà điều kiện là đúng, mảng ra sẽ được đặt thành kết quả UFUNC. Ở những nơi khác, mảng ra sẽ giữ lại giá trị ban đầu của nó. Lưu ý rằng nếu một mảng ra không được tạo ra được tạo thông qua
myList = [10,20,30,40,50,60,70,80,90]
myInt = 10
newList = myList/myInt
3 mặc định, các vị trí trong đó điều kiện là sai sẽ vẫn không được cung cấp.**kwargsĐối với các đối số chỉ từ khóa khác, hãy xem các tài liệu UFUNC.ufunc docs.
Returnsyndarray hoặc vô hướngyndarray or scalarThương số
myList = [10,20,30,40,50,60,70,80,90]
myInt = 10
newList = myList/myInt
4, phần tử khôn ngoan. Đây là vô hướng nếu cả x1 và x2 là vô hướng.Xem thêm
myList = [10,20,30,40,50,60,70,80,90]
myInt = 10
newList = myList/myInt
5Đặt nên nâng hay cảnh báo về tràn, tăng và phân chia theo số 0.
Ghi chú
Tương đương với
myList = [10,20,30,40,50,60,70,80,90]
myInt = 10
newList = myList/myInt
6 / myList = [10,20,30,40,50,60,70,80,90]
myInt = 10
newList = myList/myInt
7 về mặt mảng phát sóng.Hàm
myList = [10,20,30,40,50,60,70,80,90]
myInt = 10
newList = myList/myInt
8 là bí danh cho myList = [10,20,30,40,50,60,70,80,90]
myInt = 10
newList = myList/myInt
9.
Ví dụ
>>> np.divide[2.0, 4.0] 0.5 >>> x1 = np.arange[9.0].reshape[[3, 3]] >>> x2 = np.arange[3.0] >>> np.divide[x1, x2] array[[[nan, 1. , 1. ], [inf, 4. , 2.5], [inf, 7. , 4. ]]]
Toán tử
TypeError: unsupported operand type[s] for /: 'list' and 'int'
0 có thể được sử dụng như một tốc ký cho TypeError: unsupported operand type[s] for /: 'list' and 'int'
1 trên ndarrays.>>> x1 = np.arange[9.0].reshape[[3, 3]] >>> x2 = 2 * np.ones[3] >>> x1 / x2 array[[[0. , 0.5, 1. ], [1.5, 2. , 2.5], [3. , 3.5, 4. ]]]