Hướng dẫn how do you divide each element in a matrix by a number in python? - làm cách nào để bạn chia từng phần tử trong ma trận cho một số trong python?

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
0

Bướ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?

numpy.divide [x1, x2, /, out = none, *, wher = true, casting = 'more_kind', order = 'k', dtype = nonedivide[x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]]=#

Chia đối số yếu tố khôn ngoan.

Parametersx1array_likex1array_like

Mảng cổ tức.

x2array_likearray_like

Mả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, optional

Mộ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 scalar

Thươ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. ]]]

Tôi có thể chia danh sách cho một số nguyên trong Python không?

Như chúng ta biết rằng trong danh sách, chúng ta có thể lưu trữ các thành phần như int, float, chuỗi, v.v. Như chúng ta biết rằng chuỗi không thể chia cho một số. Để phân chia các phần tử của một danh sách, tất cả các yếu tố phải là int hoặc float.all the elements should be either int or float.

Bạn có thể phân chia mảng numpy?

Bạn cũng có thể sử dụng hàm để chia một mảng numpy cho giá trị vô hướng [nghĩa là, chia một ma trận cho một vô hướng]. [i.e., divide a matrix by a scalar].

Bài Viết Liên Quan

Chủ Đề