Mảng các số cách đều Python

Thí dụ. Đưa ra ba lập luận. start=10, stop=20, number_of_values=11. Làm cách nào để bạn tạo một chuỗi gồm 11 giá trị x0, x1, …, x10 trong đó hai giá trị tiếp theo xi và x[i-1] có cùng khoảng cách với tất cả i trong {0, …, 10}

# Given
start = 10
stop = 20
num_vals = 11

# Desired
magic_method[start, stop, num_vals]
# Returns [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

Tiếp theo, bạn sẽ tìm hiểu hai phương pháp để đạt được mục tiêu này

Phương pháp 1. Trăn vani

Bạn có thể tạo một chuỗi gồm một số lượng float cách đều nhau nhất định trong hai bước

  • Tính toán sự khác biệt giữa hai số tiếp theo là [stop-start]/[num_vals-1] giả sử bạn muốn bao gồm các điểm cuối
  • Tạo danh sách các số cách đều nhau bằng cách sử dụng tính năng hiểu danh sách. [start + i * delta for i in range[num_vals]]
# Problem Formulation
start = 10
stop = 20
num_vals = 11


# Method 1: Vanilla Python
delta = [stop-start]/[num_vals-1]
evenly_spaced = [start + i * delta for i in range[num_vals]]
print[evenly_spaced]

Phương pháp 2. NumPy linspace[]

Làm thế nào nó hoạt động?

Chỉ cần ba đối số trong hầu hết các trường hợp. start, stopnum. Để hoàn thành mục tiêu, bạn sẽ sử dụng đoạn mã sau

# Problem Formulation
start = 10
stop = 20
num_vals = 11

# Method 2: NumPy Linspace
import numpy as np
print[np.linspace[start, stop, num_vals]]
# [10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.]

Lưu ý rằng kết quả là một danh sách các float. Để chuyển đổi chúng thành int, thay vào đó, bạn có thể sử dụng một lớp lót sau

print[[int[x] for x in np.linspace[start, stop, num_vals]]]
# [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

NumPy linspace[] Câu đố

Bạn có giải được câu đố Python này không?

[trăn]
nhập numpy dưới dạng np

năm = np. không gian trống [0, 365, 366]
in[int[năm[-1] – năm[-2]]]
[/python]

Bài tập. Đầu ra của câu đố này là gì?

Bạn cũng có thể giải nó trên ứng dụng câu đố Python tương tác của chúng tôi và theo dõi các kỹ năng Python của bạn tại đây

Numpy là một thư viện Python phổ biến dành cho khoa học dữ liệu tập trung vào đại số tuyến tính

Câu đố này là về chức năng hữu ích linspace. Cụ thể,

# Problem Formulation
start = 10
stop = 20
num_vals = 11


# Method 1: Vanilla Python
delta = [stop-start]/[num_vals-1]
evenly_spaced = [start + i * delta for i in range[num_vals]]
print[evenly_spaced]
0 trả về các số cách đều nhau trong một khoảng thời gian nhất định
# Problem Formulation
start = 10
stop = 20
num_vals = 11


# Method 1: Vanilla Python
delta = [stop-start]/[num_vals-1]
evenly_spaced = [start + i * delta for i in range[num_vals]]
print[evenly_spaced]
1, bao gồm cả dấu dừng

Ví dụ:

# Problem Formulation
start = 10
stop = 20
num_vals = 11


# Method 1: Vanilla Python
delta = [stop-start]/[num_vals-1]
evenly_spaced = [start + i * delta for i in range[num_vals]]
print[evenly_spaced]
2 trả về chuỗi mảng numpy 0,1,2,3 [i. e. , 4 số cách đều nhau]

Chức năng này đặc biệt hữu ích khi vẽ đồ thị [hoặc đánh giá] một chức năng. Kết quả của hàm được áp dụng cho các số cách đều nhau cho thấy nó tiến triển như thế nào đối với việc tăng giá trị tham số

Video liên quan

Làm thế nào để sử dụng np. linspace[] bằng Python?


Xem video này trên YouTube

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

Đôi khi, chúng ta cần tạo các mảng có nhiều loại khác nhau như trong AP [dãy số cách đều nhau], GP [dãy số cách đều theo cấp số nhân] hoặc HP [dãy số cách đều nhau] để giải các bài toán khác nhau, đặc biệt là khi giải một số bài toán khoa học hoặc . Python là một trong những ngôn ngữ tốt nhất khi nói đến các mã được triển khai trước và có mặt ở đó hầu như mọi lúc, với chi phí là tốc độ xử lý

NumPy có một phương thức tích hợp gọi là arange[] có khả năng tạo một mảng của một loại số nguyên nhất định [tính bằng byte], với khoảng cách bằng nhau giữa các số

cú pháp. arange[[bắt đầu,] dừng lại[, bước,][, dtype]]

Thông số

  • bắt đầu. Đây là một tham số mặc định. Giá trị của số đầu tiên của phần tử, giá trị mặc định của tham số này là 0
  • dừng lại. Đây không phải là một tham số mặc định. Giá trị này phải lớn hơn giá trị tối đa có thể có của phần tử cuối cùng. e. g. , Nếu bạn muốn phần tử cuối cùng là 8 thì bạn nên cho giá trị dừng là 9 hoặc hơn tùy thuộc vào sự khác biệt mà bạn muốn giữa 2 số liên tiếp trong mảng
  • bươc. Đây cũng là một tham số mặc định. Con số này sẽ là hiệu giữa hai phần tử liên tiếp trong mảng. Giá trị mặc định của bước là 1
  • gõ. Đây cũng là một tham số mặc định. Đây là kiểu dữ liệu của các số trong NumPy, để đơn giản, nó là một số [lũy thừa 2] đứng trước np. int, e. g. , np. int8, np. int16, np. int32

Hàm sẽ trả về một mảng theo yêu cầu của người dùng. Hãy xem một số ví dụ về nó

ví dụ 1. Để tạo một mảng đơn giản bắt đầu từ 0 đến một số nhất định

Python3




import numpy as np

 

# Here, the array has only one parameter,

# and that is the open ended limit of

# last number of the array

myArray

[1 2 3 4 5]
0
[1 2 3 4 5]
1
[1 2 3 4 5]
2
[1 2 3 4 5]
3

[1 2 3 4 5]
4_______7_______5

đầu ra

[0 1 2 3 4 5 6 7]

ví dụ 2. Để tạo một mảng đơn giản bắt đầu từ một số đã cho đến một số khác

Python3




import numpy as np

 

 

[1 2 3 4 5]
8

[1 2 3 4 5]
9

[ 2  4  6  8 10]
0

[ 2  4  6  8 10]
1_______7_______0
[1 2 3 4 5]
1
[ 2  4  6  8 10]
4
[ 2  4  6  8 10]
5
[ 2  4  6  8 10]
6
[1 2 3 4 5]
3

[1 2 3 4 5]
4_______16_______9

đầu ra

[1 2 3 4 5]

ví dụ 3. Để tạo một mảng từ một số nhất định đến một số khác với một khoảng thời gian nhất định

Python3




import numpy as np

 

[1 2 3 4 5]
8

[1 2 3 4 5]
9

[ 2  4  6  8 10]
0

[ 5 15 25 35 45 55 65 75 85 95]
5

[ 5 15 25 35 45 55 65 75 85 95]
6

[ 5 15 25 35 45 55 65 75 85 95]
7_______7_______0
[1 2 3 4 5]
1_______45_______0_______16_______5import2
[ 2  4  6  8 10]
5import0
[1 2 3 4 5]
3

[1 2 3 4 5]
4_______45_______7

đầu ra

[ 2  4  6  8 10]

Ví dụ 4. Chúng tôi sử dụng dtype đặc biệt trong các trường hợp khi chúng tôi muốn xử lý hình ảnh hoặc một số loại tính toán khác

Hàm NumPy được sử dụng để tạo các mảng cách đều nhau là gì?

sắp xếp . Trả về các giá trị cách đều nhau trong một khoảng thời gian nhất định.

Hàm nào sau đây được sử dụng để tạo một mảng NumPy gồm các số cách đều nhau trong một khoảng xác định?

Hàm NumPy linspace tạo chuỗi các giá trị cách đều nhau trong một khoảng xác định. Về cơ bản, bạn chỉ định điểm bắt đầu và điểm kết thúc của một khoảng thời gian, sau đó chỉ định tổng số điểm dừng bạn muốn trong khoảng thời gian đó [bao gồm cả điểm bắt đầu và điểm kết thúc].

Sự khác biệt giữa Linspace và phạm vi là gì?

arange cho phép bạn xác định kích thước của bước. linspace cho phép bạn xác định số bước. khoảng trắng [0,1,20]. 20 số cách đều nhau từ 0 đến 1 [bao gồm]. sắp xếp [0, 10, 2]. tuy nhiên cần nhiều số để đi từ 0 đến 10 [độc quyền] trong các bước 2

Linspace hoạt động như thế nào trong Python?

Hàm linspace[] trả về các số cách đều nhau trong một khoảng thời gian xác định [bắt đầu, dừng] . Điểm cuối của khoảng có thể được loại trừ tùy chọn. Giá trị bắt đầu của chuỗi. Giá trị cuối của chuỗi, trừ khi điểm cuối được đặt thành Sai.

Chủ Đề