Hướng dẫn how to create array list in python - cách tạo danh sách mảng trong python

Danh sách và mảng là hai trong số các cấu trúc dữ liệu được sử dụng rộng rãi nhất trong Python. Một danh sách trong Python chỉ đơn giản là một tập hợp các đối tượng. Các đối tượng này có thể là số nguyên, số điểm nổi, chuỗi, giá trị boolean hoặc thậm chí các cấu trúc dữ liệu khác như từ điển. Một mảng, cụ thể là một mảng python numpy, tương tự như một danh sách python. Sự khác biệt chính là các mảng numpy nhanh hơn nhiều và có yêu cầu nghiêm ngặt về tính đồng nhất của các đối tượng. Ví dụ, một loạt các chuỗi không có thể chứa các chuỗi và không có loại dữ liệu nào khác, nhưng danh sách Python có thể chứa hỗn hợp chuỗi, số, booleans và các đối tượng khác. Bởi vì các hoạt động như tính toán trung bình hoặc tổng nhanh hơn nhiều trên các mảng numpy, các cấu trúc dữ liệu này phổ biến hơn trong các bối cảnh trong đó hiệu suất tốc độ là ưu tiên. & NBSP;data structures in Python. A list in Python is simply a collection of objects. These objects can be integers, floating point numbers, strings, boolean values or even other data structures like dictionaries. An array, specifically a Python NumPy array, is similar to a Python list. The main difference is that NumPy arrays are much faster and have strict requirements on the homogeneity of the objects. For example, a NumPy array of strings can only contain strings and no other data types, but a Python list can contain a mixture of strings, numbers, booleans and other objects. Because operations like calculating mean or sum are much faster on NumPy arrays, these data structures are more common in contexts where speed performance is a priority. 

Cả hai danh sách và mảng numpy đều có một loạt các phương thức tích hợp để thực hiện nhiều tác vụ bao gồm sắp xếp, tìm Min/Max, cắt ngắn, nối tiếp, kết hợp và nhiều hơn nữa. & NBSP;

Danh sách cũng có thể xác định các cấu trúc dữ liệu khác như từ điển, có các ứng dụng trong cả kỹ thuật phần mềm và khoa học dữ liệu. Ví dụ: danh sách có thể tạo từ điển, có thể được chuyển đổi thành các tệp JSON. Các kỹ sư phần mềm thường sử dụng các loại tệp này. & NBSP;software engineering and data science. For example, lists can generate dictionaries, which can be converted to JSON files. Software engineers commonly use these file types. 

Từ điển cũng có thể được chuyển đổi thành các khung dữ liệu, mà các nhà khoa học dữ liệu thường sử dụng. Thậm chí, danh sách Python cho phép bạn dễ dàng xây dựng nhiều khung dữ liệu hữu ích cho nhiều tác vụ dữ liệu. Điều này bao gồm tăng cường các bảng dữ liệu hiện có với các trường mới, tính toán các trường dữ liệu mới bằng danh sách được xây dựng, thực hiện phân tích dữ liệu khám phá trên dữ liệu được truy cập thông qua API và nhiều hơn nữa. Có một sự hiểu biết thấu đáo về danh sách python và mảng numpy mở ra nhiều tác vụ dữ liệu hữu ích. & NBSP;

Danh sách và mảng thường được sử dụng cho các tác vụ như tạo dữ liệu tổng hợp. Trong nhiều trường hợp, các nhóm khoa học dữ liệu có quyền truy cập hạn chế vào dữ liệu thực. Khi xây dựng phần mềm dựa vào dữ liệu ETL và học máy, dữ liệu tổng hợp thường là lựa chọn duy nhất để xây dựng nguyên mẫu ứng dụng. Python cho phép bạn tạo danh sách tổng hợp như tên, trạng thái, chiều cao, ngành nghề và bất kỳ giá trị phân loại nào khác có thể được biểu diễn dưới dạng chuỗi. Hơn nữa, nó cũng có thể tạo ra các giá trị số như dân số, thu nhập và số tiền giao dịch. Kỹ thuật tính năng đơn giản cũng đơn giản với sự hiểu biết danh sách trong Python. Tất cả trong tất cả, cả danh sách và mảng cung cấp nhiều phương pháp hữu ích để thao tác và tạo dữ liệu. & NBSP;machine learning, synthetic data is often the only option for building an application prototype. Python enables you to generate synthetic lists such as names, states, heights, professions, and any other categorical value that can be represented as a string. Further, it can also generate numerical values such as populations, incomes and transaction amounts. Simple feature engineering is also straightforward with list comprehension in Python. All in all, both lists and arrays offer many useful methods for manipulating and generating data. 

Ở đây, chúng tôi sẽ khảo sát một số phương pháp và cấu trúc dữ liệu phổ biến nhất sử dụng danh sách và mảng. Điều này sẽ cung cấp cho kỹ sư phần mềm mới bắt đầu hoặc nhà khoa học dữ liệu một nền tảng vững chắc để sử dụng danh sách để thao tác dữ liệu trong Python. & NBSP;

Một danh sách trong Python chỉ đơn giản là một tập hợp các đối tượng. Các đối tượng này có thể là số nguyên, số điểm nổi, chuỗi, giá trị boolean hoặc thậm chí các cấu trúc dữ liệu khác như từ điển. Một mảng, cụ thể là một mảng python numpy, tương tự như một danh sách python. Sự khác biệt chính là các mảng numpy nhanh hơn nhiều và có yêu cầu nghiêm ngặt về tính đồng nhất của các đối tượng. Cả hai danh sách và mảng numpy đều có một loạt các phương thức tích hợp để thực hiện nhiều tác vụ bao gồm sắp xếp, tìm Min/Max, cắt ngắn, nối tiếp, kết hợp và nhiều hơn nữa. & NBSP;

Thêm từ Sadrach Pierrecalculating tứ phân: Một lời giải thích từng bướcCalculating Quartiles: A Step-by-Step Explanation

Xây dựng danh sách Python

Xây dựng một danh sách trong Python rất đơn giản. Bạn có thể xây dựng một danh sách các chuỗi, giá trị điểm nổi, số nguyên và giá trị boolean. Danh sách Python các chuỗi là một danh sách các giá trị tương ứng với một chuỗi các ký tự Unicode. Một danh sách các điểm nổi chứa các giá trị đại diện cho số thực. Danh sách các số nguyên chứa các giá trị số toàn bộ có thể là dương, âm hoặc bằng không. Cuối cùng, một danh sách Boolean là một danh sách các giá trị đúng/sai. Bạn cũng có thể xây dựng một danh sách các loại hỗn hợp. & NBSP;

Hãy bắt đầu bằng cách xây dựng một danh sách chuỗi chứa các công ty Facebook, Amazon, Apple, Netflix và Google:

tech_company_names = ['Facebook', 'Apple', 'Amazon', 'Netflix', 'Google']

Hãy cùng xây dựng một danh sách các số nguyên đại diện cho số lượng nhân viên tại mỗi công ty này vào năm 2021. Thứ tự trong danh sách số nguyên của chúng tôi sẽ giống như thứ tự trong danh sách tên công ty của chúng tôi. Ví dụ: trong danh sách tên công ty của chúng tôi, Facebook Facebook là giá trị của yếu tố đầu tiên và trong danh sách nhân viên của chúng tôi và 58.604 là số lượng nhân viên tại Facebook. & NBSP;

tech_company_employees = [58604, 147000, 950000, 11300, 135301]

Tiếp theo, hãy để Lôi xây dựng một danh sách các phao tương ứng với doanh thu, tính bằng hàng tỷ USD, cho mỗi công ty vào năm 2021:

tech_company_revenue = [117, 378, 470, 30, 257]

Cuối cùng, hãy để tạo ra một danh sách boolean. Chúng tôi sẽ sử dụng một cái gì đó được gọi là danh sách hiểu để xây dựng danh sách các giá trị Boolean của chúng tôi. Danh sách hiểu là một cách dễ dàng và hữu ích để xây dựng danh sách mới dựa trên các giá trị trong các danh sách khác. Cấu trúc của danh sách hiểu thường trông giống như sau:

list = [expression for element in iterable]

Một biểu thức có thể chỉ đơn giản là yếu tố trong chính điều đó hoặc một số biến đổi của phần tử, chẳng hạn như kiểm tra giá trị sự thật của một điều kiện. Đây là những gì chúng tôi sẽ làm để tạo ra danh sách Booleans. Danh sách này sẽ dựa trên các giá trị trong danh sách nhân viên công ty công nghệ của chúng tôi. Nó sẽ có một giá trị đúng nếu có hơn 60.000 nhân viên và sai nếu không:

tech_company_employee_bool = [x > 60000 for x in 
tech_company_employees ]

Điều này sẽ tạo danh sách sau:

[False, True, True, False, True]

Xây dựng một danh sách các loại hỗn hợp cũng có thể. Giả sử chúng tôi có tên công ty, doanh thu, số lượng nhân viên và giá trị boolean dựa trên số lượng nhân viên. Hãy cùng xem xét danh sách các giá trị loại hỗn hợp này cho Microsoft:

new_company_info = ['Microsoft', 163000, 877, True]

Chúng tôi có thể sử dụng phương thức phụ lục để cập nhật từng danh sách. Nếu chúng tôi in danh sách cập nhật, chúng tôi thấy rằng các giá trị mới đã được thêm vào:

print('Company: ', tech_company_names)
print('Employees: ', tech_company_employees)
print("Revenue: ", tech_company_revenue)
print("Employee_threshold: ", tech_company_employee_bool)
Image: Ảnh chụp màn hình của tác giả.
Hướng dẫn how to create array list in python - cách tạo danh sách mảng trong python
Image: Screenshot by the author.

Danh sách Python cũng được trang bị nhiều phương pháp hữu ích. Ví dụ: chúng tôi có thể sắp xếp danh sách các công ty (theo thứ tự bảng chữ cái) và số lượng nhân viên (theo thứ tự ngày càng tăng):

tech_company_names.sort()
tech_company_employees.sort()

Điều này sửa đổi danh sách của chúng tôi tại chỗ cho các mục sau:

Hướng dẫn how to create array list in python - cách tạo danh sách mảng trong python
Hình ảnh: Ảnh chụp màn hình của tác giả.

Lưu ý rằng điều này thay đổi thứ tự của các danh sách này để chúng không còn khớp. Một lựa chọn an toàn hơn là sử dụng phương thức Python tích hợp được sắp xếp, trả về một danh sách được sắp xếp mà chúng ta có thể lưu trữ trong một biến mới thay vì sửa đổi danh sách cũ.

sort_company = sorted(tech_company_names)
sort_employee = sorted(tech_company_employees)

print(sort_company)
print(sort_employee)
Image: Ảnh chụp màn hình của tác giả.
Hướng dẫn how to create array list in python - cách tạo danh sách mảng trong python
Image: Screenshot by the author.

Xây dựng một mảng numpy & nbsp;

Numpy là một gói Python hữu ích để tạo ra các mảng, có nhiều sự khác biệt từ danh sách Python. Sự khác biệt lớn nhất là các mảng numpy sử dụng ít tài nguyên hơn danh sách Python, điều này trở nên quan trọng khi lưu trữ một lượng lớn dữ liệu. Nếu bạn làm việc với hàng ngàn yếu tố, danh sách Python sẽ ổn cho hầu hết các mục đích. Tuy nhiên, khi số lượng các yếu tố trong danh sách tiếp cận hàng triệu hoặc hàng tỷ, tuy nhiên, các mảng không thích hợp hơn. & NBSP;

Numpy cũng hữu ích để tạo dữ liệu tổng hợp. Ví dụ: giả sử trong ví dụ dữ liệu công ty công nghệ của chúng tôi, chúng tôi thiếu các giá trị cho thu nhập ròng, trong đó thu nhập ròng là tổng doanh số trừ đi chi phí hàng hóa, thuế và lãi. Chúng tôi muốn áp đặt các giá trị này theo một cách nào đó. Hơn nữa, chúng tôi muốn lấy mẫu các giá trị bị lỗi này từ phân phối bình thường. Hãy để tạo ra một mảng numpy chứa danh sách thu nhập ròng cho mỗi công ty. & NBSP;

Để tiến hành, hãy để nhập gói Numpy:

tech_company_employees = [58604, 147000, 950000, 11300, 135301]
0

Để tạo mẫu của chúng tôi, chúng tôi cần một giá trị cho thu nhập ròng trung bình và độ lệch chuẩn trong thu nhập ròng. Hãy để một giả định đơn giản rằng thu nhập ròng trung bình giữa các công ty là 80 tỷ đô la với độ lệch chuẩn là 40 tỷ đô la. Chúng tôi sẽ gọi các biến cho giá trị trung bình và độ lệch chuẩn MU và Sigma, tương ứng:

tech_company_employees = [58604, 147000, 950000, 11300, 135301]
1

Chúng tôi cũng cần chỉ định số lượng giá trị chúng tôi muốn tạo. Chúng tôi chỉ có thể lưu trữ độ dài của danh sách công ty công nghệ của mình trong một biến mới mà chúng tôi sẽ gọi là N_Values:

tech_company_employees = [58604, 147000, 950000, 11300, 135301]
2

Chúng tôi cũng nên chỉ định giá trị hạt giống ngẫu nhiên để đảm bảo kết quả của chúng tôi có thể tái sản xuất:

tech_company_employees = [58604, 147000, 950000, 11300, 135301]
3

Để tạo mảng của chúng tôi, chúng tôi sẽ sử dụng phương pháp bình thường trong mô -đun ngẫu nhiên không có. Chúng tôi sẽ vượt qua các giá trị tham số cho giá trị trung bình (MU), độ lệch chuẩn (SIGMA) và số lượng giá trị (n_values) vào phương thức bình thường và lưu trữ kết quả trong một biến gọi là net_income:

tech_company_employees = [58604, 147000, 950000, 11300, 135301]
4Image: Ảnh chụp màn hình của tác giả.
Hướng dẫn how to create array list in python - cách tạo danh sách mảng trong python
Image: Screenshot by the author.

Ở đây, chúng tôi đã tạo ra các giá trị tổng hợp cho thu nhập ròng cho Facebook (77 tỷ đô la), Apple (75 tỷ USD), Amazon (121 tỷ đô la), Netflix (29 tỷ đô la), Google (109 tỷ đô la) và Microsoft (11 tỷ đô la). Vì những con số này là tổng hợp và chúng tôi sử dụng các giá trị tạo nên cho các số liệu thống kê tổng hợp để áp đặt các giá trị cho tất cả các công ty, nên chúng không thực tế lắm.

Một cách thậm chí chính xác hơn để tạo ra các giá trị tổng hợp này là hoạt động từ một phân phối bình thường duy nhất cho mỗi công ty sử dụng mỗi công ty, thu nhập ròng trung bình và độ lệch chuẩn trong thu nhập ròng nếu có thể truy cập được. Trong ví dụ này, cách tiếp cận đơn giản của chúng tôi về giả định rằng chúng tôi có quyền truy cập vào độ lệch trung bình và tiêu chuẩn trên tất cả các công ty là đủ. & NBSP;

Đối với ví dụ này, chúng tôi giả định rằng phân phối thu nhập ròng là bình thường (hoặc có hình dạng như một đường cong chuông). Một mô hình phổ biến khác là phân phối đuôi chất béo, xảy ra khi phân phối chứa một số lượng đáng kể các giá trị cực dương hoặc âm. Điều này cũng được gọi là Skewness. Chúng ta có thể tạo ra một danh sách các giá trị tổng hợp cho thu nhập ròng từ phân phối đuôi chất béo bằng phương pháp Gumbel trong Numpy:

tech_company_employees = [58604, 147000, 950000, 11300, 135301]
5Image: Ảnh chụp màn hình của tác giả.
Hướng dẫn how to create array list in python - cách tạo danh sách mảng trong python
Image: Screenshot by the author.

Một lần nữa, nó đáng chú ý ở đây rằng, mặc dù các giá trị này không thực tế, nhưng chúng có thể dễ dàng được cải thiện bằng cách sử dụng các giá trị thống kê tổng hợp thực tế và tạo phân phối cho mỗi công ty. Với chuyên môn về miền phù hợp, các phương pháp này có thể tạo ra dữ liệu tổng hợp chất lượng cao, thực tế. & NBSP;

Sử dụng danh sách để xây dựng từ điển, tệp JSON, khung dữ liệu và tệp CSV

Với các danh sách mà chúng tôi đã tạo, giờ đây chúng tôi có thể xây dựng một từ điển Python, đây là một cách hữu ích để lưu trữ danh sách của chúng tôi trong các cặp giá trị chính. Chúng tôi có một danh sách cho tên công ty, số lượng nhân viên, doanh thu, ngưỡng doanh thu booleans, thu nhập ròng phân phối thường và thu nhập ròng phân tán đuôi. Hãy để tạo ra một bản đồ từ điển được chiếm đoạt các khóa có tên cho từng khóa này trong danh sách của chúng tôi:

tech_company_employees = [58604, 147000, 950000, 11300, 135301]
6Image: Ảnh chụp màn hình của tác giả.
Hướng dẫn how to create array list in python - cách tạo danh sách mảng trong python
Image: Screenshot by the author.

Chúng tôi thấy rằng, trong cấu trúc dữ liệu này, chúng tôi có các khóa, là các chuỗi duy nhất hoặc các tên chúng tôi đặt cho mỗi danh sách và danh sách tương ứng. Chúng ta có thể dễ dàng chuyển đổi từ điển này thành tệp JSON với logic sau:

tech_company_employees = [58604, 147000, 950000, 11300, 135301]
7

Và chúng tôi có thể đọc tệp JSON của mình và in kết quả:

tech_company_employees = [58604, 147000, 950000, 11300, 135301]
8Image: Ảnh chụp màn hình của tác giả.
Hướng dẫn how to create array list in python - cách tạo danh sách mảng trong python
Image: Screenshot by the author.

Chúng ta cũng có thể dễ dàng chuyển đổi từ điển Python thành khung dữ liệu gấu trúc bằng cách sử dụng hàm tạo khung dữ liệu Pandas: & NBSP;

tech_company_employees = [58604, 147000, 950000, 11300, 135301]
9Image: Ảnh chụp màn hình của tác giả.
Hướng dẫn how to create array list in python - cách tạo danh sách mảng trong python
Image: Screenshot by the author.

Chúng tôi cũng có thể sử dụng gấu trúc để ghi khung dữ liệu này vào tệp CSV bằng phương thức TO_CSV:

tech_company_revenue = [117, 378, 470, 30, 257]
0

Và chúng ta có thể sử dụng phương thức read_csv để đọc trong tệp của mình:

tech_company_revenue = [117, 378, 470, 30, 257]
1

Và hiển thị dữ liệu của chúng tôi:

tech_company_revenue = [117, 378, 470, 30, 257]
2Image: Ảnh chụp màn hình của tác giả.
Hướng dẫn how to create array list in python - cách tạo danh sách mảng trong python
Image: Screenshot by the author.

Chúng tôi thấy rằng với một dòng mã duy nhất, chúng tôi có thể tạo khung dữ liệu gấu trúc bằng danh sách và từ điển mà chúng tôi đã tạo trước đó. & NBSP;

Mã trong bài đăng này có sẵn trên GitHub. & NBSP;GitHub

Thêm về dữ liệu Khoa học về việc tự động hóa cấu trúc dự án khoa học dữ liệu của bạn trong 3 bước dễ dàngHow to Automate Your Data Science Project Structure in 3 Easy Steps

Thử nghiệm với danh sách và mảng & nbsp;

Xây dựng danh sách và mảng trong Python rất hữu ích cho một loạt các nhiệm vụ. Python cho phép bạn dễ dàng tạo và thao tác danh sách cho các chuỗi, bools, phao và số nguyên. Hơn nữa, danh sách hiểu cho phép bạn tạo danh sách mới dựa trên các giá trị trong một danh sách khác theo cách dễ đọc và ngắn gọn. & NBSP;

Các mảng Numpy là một sự thay thế hiệu quả tài nguyên hơn cho các danh sách cũng được trang bị các công cụ để thực hiện các hoạt động toán học phức tạp và tạo dữ liệu tổng hợp. Cả hai lần lặp này có thể được sử dụng để xây dựng các cấu trúc dữ liệu phức tạp hơn như từ điển và khung dữ liệu. Hơn nữa, thật đơn giản để tạo các tệp JSON và CSV từ các cấu trúc dữ liệu này đã được tạo từ danh sách. Có một sự hiểu biết tốt về các công cụ có sẵn để tạo và thao tác các danh sách và mảng trong Python là điều cần thiết cho mọi nhà khoa học kỹ sư và dữ liệu. & NBSP;

Làm thế nào để bạn thêm một mảng vào một danh sách trong Python?

Nếu bạn đang sử dụng danh sách làm mảng, bạn có thể sử dụng các hàm append (), chèn () và mở rộng () của nó. Bạn có thể đọc thêm về nó tại Python thêm vào danh sách. Nếu bạn đang sử dụng mô -đun mảng, bạn có thể sử dụng cách ghép bằng toán tử +, append (), chèn () và mở rộng () các hàm để thêm các phần tử vào mảng.use its append(), insert(), and extend() functions. You can read more about it at Python add to List. If you are using array module, you can use the concatenation using the + operator, append(), insert(), and extend() functions to add elements to the array.

Tôi có thể có một loạt các danh sách trong Python không?

Xây dựng danh sách và mảng trong Python rất hữu ích cho một loạt các nhiệm vụ.Python cho phép bạn dễ dàng tạo và thao tác danh sách cho các chuỗi, bools, phao và số nguyên.Hơn nữa, danh sách hiểu cho phép bạn tạo danh sách mới dựa trên các giá trị trong một danh sách khác theo cách dễ đọc và súc tích.Python allows you to easily create and manipulate lists for strings, bools, floats, and integers. Further, list comprehension allows you to create new lists based on the values in another list in a readable and concise way.

Là danh sách () và [] giống nhau trong Python?

Về mặt thực tế không có sự khác biệt.Tôi hy vọng [] sẽ nhanh hơn, bởi vì nó không liên quan đến việc tra cứu toàn cầu theo sau là một cuộc gọi chức năng.Ngoài ra, nó cũng vậy.there's no difference. I'd expect [] to be faster, because it does not involve a global lookup followed by a function call. Other than that, it's the same.

Danh sách [] có nghĩa là gì trong Python?

Một danh sách là một container Python được đặt hàng và có thể thay đổi, là một trong những cấu trúc dữ liệu phổ biến nhất trong Python.Để tạo một danh sách, các phần tử được đặt bên trong dấu ngoặc vuông ([]), được phân tách bằng dấu phẩy.an ordered and mutable Python container, being one of the most common data structures in Python. To create a list, the elements are placed inside square brackets ([]), separated by commas.