Việc hiểu rõ danh sách Python và mảng NumPy sẽ mở ra cánh cửa cho nhiều tác vụ dữ liệu hữu ích. Hướng dẫn này sẽ giới thiệu cho bạn cả hai khái niệm.

Bạn đang xem : danh sách python mảng

Hiểu rõ về danh sách Python và mảng NumPy sẽ mở ra cánh cửa cho nhiều tác vụ dữ liệu hữu ích. Hướng dẫn này sẽ giới thiệu cho bạn cả hai khái niệm.

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ố dấu phẩy động, 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à 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 mảng chuỗi NumPy chỉ có thể chứa chuỗi và không có kiểu dữ liệu nào khác, nhưng danh sách Python có thể chứa hỗn hợp chuỗi, số, boolean và các đối tượng khác. Bởi vì các hoạt động như tính giá trị trung bình hoặc tổng nhanh hơn nhiều trên mảng NumPy, các cấu trúc dữ liệu này phổ biến hơn trong các ngữ cảnh mà hiệu suất tốc độ là ưu tiên.

Cả danh sách và mảng NumPy đều có nhiều phương thức tích hợp sẵn để thực hiện nhiều tác vụ khác nhau, bao gồm sắp xếp, tìm min / max, cắt bớt, thêm vào , nối và nhiều hơn nữa.

Danh sách cũng có thể xác định cấu trúc dữ liệu khác, chẳng hạn như từ điển, có các ứng dụng trong cả kỹ thuật phần mềm 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 tệp JSON. Các kỹ sư phần mềm thường sử dụng các loại tệp này.

Từ điển cũng có thể được chuyển đổi thành 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 còn cho phép bạn dễ dàng tạo 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 việc bổ sung 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 cách sử dụng danh sách đã 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.v. Việc hiểu rõ danh sách Python và mảng NumPy sẽ mở ra cánh cửa cho nhiều tác vụ dữ liệu hữu ích.

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 trên ETL dữ liệu 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, nghề nghiệp 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ố lượng giao dịch. Kỹ thuật tính năng đơn giản cũng đơn giản với khả năng hiểu danh sách trong Python. Nhìn chung, cả danh sách và mảng đều cung cấp nhiều phương pháp hữu ích để thao tác và tạo dữ liệu.

Ở đâ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 hoặc nhà khoa học dữ liệu mới bắt đầ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.

Cách tạo Mảng danh sách trong Python

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ố dấu phẩy động, 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à 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ả danh sách và mảng NumPy đều có nhiều phương thức tích hợp sẵn để thực hiện nhiều tác vụ khác nhau bao gồm sắp xếp, tìm min / max, cắt ngắn, nối thêm, nối và hơn thế nữa.

Xem thêm từ Sadrach Pierre Tính toán phần tư: Giải thích từng bước

Tạo một danh sách Python

Việc tạo danh sách bằng Python rất đơn giản. Bạn có thể tạo danh sách các chuỗi, giá trị dấu phẩy động, số nguyên và giá trị boolean. Danh sách chuỗi trong Python là danh sách các giá trị tương ứng với một chuỗi các ký tự unicode. Danh sách các dấu chấm động chứa các giá trị đại diện cho các số thực. Danh sách các số nguyên chứa các giá trị số nguyên có thể là số dương, số âm hoặc số không. Cuối cùng, danh sách boolean là 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 kiểu hỗn hợp.

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 tạo 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ẽ là 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” là giá trị của phần 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.

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

Tiếp theo, hãy xây dựng một danh sách float tương ứng với doanh thu, tính bằng USD tính bằng tỷ, 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 một danh sách boolean . Chúng tôi sẽ sử dụng một thứ gọi là hiểu danh sách để xây dựng danh sách các giá trị boolean của chúng tôi. Hiểu danh sách là một cách dễ dàng và hữu ích để tạo 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 khả năng hiểu danh sách thường trông giống như sau:

  list = [biểu thức cho phần tử trong có thể lặp]  

Một biểu thức có thể đơn giản là phần tử trong có thể lặp lại chính nó hoặc một số biến đổi của phần tử, chẳng hạn như kiểm tra giá trị chân lý của một điều kiện. Đây là những gì chúng ta sẽ làm để tạo danh sách các boolean. 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ó giá trị true nếu có hơn 60.000 nhân viên và false nếu không:

  tech_company_employee_bool = [x & gt; 60000 cho x in
tech_company_employees]  

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

  [False, True, True, False, True]  

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

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

Chúng ta có thể sử dụng < span target = "_ blank"> phương pháp nối thêm để 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 ('Nhân viên:', tech_company_employees)
print ("Doanh thu:", tech_company_revenue)
print ("Employee_threshold:", tech_company_employee_bool)  

Hình ảnh: Ảnh chụp màn hình của tác giả.

Danh sách Python cũng được trang bị nhiều phương pháp hữu ích. Ví dụ: chúng ta 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ự tăng dần):

  tech_company_names.sort ()
tech_company_employees.sort ()  

Điều này sửa đổi các danh sách của chúng tôi thành như sau:

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, vì vậy chúng không còn hợp nhau nữa. Một lựa chọn an toàn hơn là sử dụng phương thức sắp xếp trong Python, trả về một danh sách đã 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 = sắp xếp (tech_company_employees)

print (sort_company)
print (sort_employee)  

Hình ảnh: Ảnh chụp màn hình của tác giả.

Tạo một mảng NumPy

NumPy là một gói Python hữu ích để tạo mảng, có nhiều điểm khác biệt với danh sách Python. Sự khác biệt lớn nhất là 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 đang làm việc với hàng nghìn phần tử, danh sách Python sẽ phù hợp cho hầu hết các mục đích. Tuy nhiên, khi số lượng phần tử trong danh sách lên tới hàng triệu hoặc hàng tỷ, mảng NumPy được ưu tiên hơn.

NumPy cũng hữu ích để tạo dữ liệu tổng hợp. Ví dụ: giả sử trong ví dụ về 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 thu trừ đi giá vốn hàng hóa, thuế và lãi vay. Chúng tôi muốn áp dụng những 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ị được quy định này từ phân phối chuẩn. Hãy tạo một mảng NumPy chứa danh sách thu nhập ròng cho mỗi công ty.

Để tiếp tục, hãy nhập gói NumPy:

  nhập numpy dưới dạng np  

Để 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 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 độ lệch trung bình và độ lệch chuẩn mu và sigma, tương ứng:

  mu, sigma = 80, 40  

Chúng tôi cũng cần chỉ định số lượng giá trị mà chúng tôi muốn tạo ra. Chúng tôi chỉ cần lưu trữ độ dài 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:

  n_values ​​= len (tech_company_names)  

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

  np.random.seed (21)  

Để 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 NumPy. Chúng tôi sẽ chuyển 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 có tên net_income:

  net_income_normal = np.random.normal (mu, sigma, n_values)
print (net_income_normal)  

Hình ảnh: Ảnh chụp màn hình của tác giả.

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

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

Đối với ví dụ này, chúng tôi giả định rằng phân phối trong thu nhập ròng là bình thường (hoặc có hình dạng giống như một đường cong hình chuông). Một dạng phổ biến khác là phân phối theo đuôi 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. Đây còn được gọi là độ lệch. Chúng tôi có thể tạo danh sách các giá trị tổng hợp cho thu nhập ròng từ phân phối theo đuôi béo bằng phương pháp gumbel trong NumPy:

  np.random.seed (64)
net_income_fat_tail = np.random.gumbel (mu, sigma, n_values)
print (net_income_fat_tail)  

Hình ảnh: Ảnh chụp màn hình của tác giả.

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

Sử dụng danh sách để tạo 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ể tạo 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ị khóa. 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, boolean ngưỡng doanh thu, thu nhập ròng được phân phối thông thường và thu nhập ròng được phân phối theo đuôi béo. Hãy tạo một từ điển ánh xạ các khóa được đặt tên thích hợp cho từng khóa này vào danh sách của chúng tôi:

  company_data_dict = {'company_name': tech_company_names,
                     'number_of_employees': tech_company_employees,
                     'company_revenue': tech_company_revenue,
                     'worker_threshold': tech_company_employee_bool,
                     'net_income_normal': danh sách (net_income_normal),
                     'net_income_fat_tail': list (net_income_fat_tail)}

print (company_data_dict)  

Hình ảnh: Ảnh chụp màn hình của tác giả.

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 tên chúng tôi đặt cho mỗi danh sách và danh sách tương ứng. Chúng tôi có thể dễ dàng chuyển đổi từ điển này thành tệp JSON với logic sau:

  import json
với open ('company_data.json', 'w') là fp:
    json.dump (company_data_dict, fp)  

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

  f = open ('company_data.json' )
company_json = json.loads (f.read ())
print (company_json)  

Hình ảnh: Ảnh chụp màn hình của tác giả.

Chúng tôi cũng có thể dễ dàng chuyển đổi từ điển Python sang khung dữ liệu Pandas bằng cách sử dụng hàm tạo khung dữ liệu Pandas:

  nhập gấu trúc dưới dạng pd
company_df = pd.DataFrame (company_data_dict)
print (company_df)  

Hình ảnh: Ảnh chụp màn hình của tác giả.

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

  company_df.to_csv ("comapany_csv_file.csv", index = False)  

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

  read_company_df = pd.read_csv ("comapany_csv_file.csv")  

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

  print (read_company_df)  

Hình ảnh : Ảnh chụp màn hình của tác giả.

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

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

Tìm hiểu thêm về Khoa học dữ liệu Cách 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àng

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

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

Mảng NumPy là một giải pháp thay thế hiệu quả hơn về tài nguyên cho các danh sách cũng được trang bị các công cụ để thực hiện các phép toán phức tạp và tạo dữ liệu tổng hợp. Cả hai kiểu lặp này đều 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 đã được tạo từ danh sách này. Hiểu rõ về các công cụ có sẵn để tạo và thao tác với danh sách và mảng trong python là điều cần thiết đối với mọi kỹ sư và nhà khoa học dữ liệu.


Xem thêm những thông tin liên quan đến chủ đề danh sách python mảng

Bài 6 Làm việc với danh sách list ,hoặc array trong python | học lập trình python

  • Tác giả: Son Nguyen
  • Ngày đăng: 2018-02-14
  • Đánh giá: 4 ⭐ ( 3874 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: các bạn ơi mình có bán một khóa học python cơ bản dùng tổng hợp kiến thức quan trọng của trương trình đại học các bạn tham khảo và ủng hộ mình ở đây nha: http://python.it2soft.com/
    Khóa học lập trình python mình đã chia thành các phần nhỏ để các bạn xem đỡ chán và dễ tìm kiếm hơn và cứ khoảng 10 video sẽ có một loạt video tổng hợp
    Các bạn có thể tham khảo các khóa học lập trình khác ở đây
    Trí tuệ nhân tạo và nhận dạng ảnh với openCV python https://goo.gl/JknFJs
    Đồ họa máy tính https://goo.gl/azVupr
    Học lập trình C++ cơ bản https://goo.gl/RVWdVT
    Kiến trúc máy tính bài tập: https://goo.gl/CuN3aW
    Cơ sở dữ liệu: https://goo.gl/LtrXdz
    Cấu trúc dữ liệu và giải thuật: https://goo.gl/DgNVfq
    Mọi thắc mắc các bạn có thể liên hệ fb cá nhân: https://www.facebook.com/nhsonit
    Tham ra groups học cntt để thảo luận và chia sẻ nhiều tài liệu: https://www.facebook.com/groups/it2techone/

    lập trình python căn bản,
    lập trình python ứng dụng thực tế,
    lập trình python nâng cao,
    lập trình python trên visual studio,
    lập trình python trên raspberry,
    lập trình python trên ubuntu,
    lập trình python trên windows,
    lập trình python từ zero – hero,
    lập trình python trên sublime text,
    lập trình python trên linux,
    lập trình python,
    lập trình python cơ bản,
    lập trình game bằng python,
    hướng dẫn lập trình python,
    học lập trình python,
    tự học lập trình python,
    lập trình python là gì,
    ngôn ngữ lập trình python,
    lập trình python online,
    python programming lập trình python

Bài 6 – Kiểu dữ liệu danh sách (list) trong ngôn ngữ lập trình Python

  • Tác giả: www.vniteach.com
  • Đánh giá: 4 ⭐ ( 5948 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Lập trình Python 1. Tìm hiểu kiểu dữ liệu list – Mảng là tập hợp các phần tử cùng một kiểu dữ liệu duy nhất như: mảng số nguyên, mảng số thực, mảng xâu,… Nhưng trong Python không có kiểu dữ liệu mảng mà sử dụng kiểu danh sách (list). – Không giống như mảng,

Danh sách Python so với Mảng – khi nào nên sử dụng?

  • Tác giả: qastack.vn
  • Đánh giá: 3 ⭐ ( 8898 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] Về cơ bản, danh sách Python rất linh hoạt và có thể chứa dữ liệu hoàn…

Mảng trong Python

  • Tác giả: tek4.vn
  • Đánh giá: 3 ⭐ ( 6002 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Kiểu List (mảng) trong Python

  • Tác giả: freetuts.net
  • Đánh giá: 3 ⭐ ( 1752 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Tìm hiểu kiểu dữ liệu List (mảng) trong Python, mảng là kiểu dữ liệu được dùng rất nhiều, nhất là trong những bài tập học kỹ thuật lập trình Python

Kiểu dữ liệu list danh sách trong Python

  • Tác giả: o2.edu.vn
  • Đánh giá: 5 ⭐ ( 6246 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Danh sách trong Python, kiểu list được đặt trong cặp ngoặc vuông [] và có các hàm, phương thức như del pop append remove map filter…

Mảng Trong Python

  • Tác giả: techacademy.edu.vn
  • Đánh giá: 5 ⭐ ( 4037 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Mảng trong Python là loại cấu trúc dữ liệu có thể chứa nhiều giá trị cùng kiểu. Thông thường, chúng bị hiểu sai thành những lists hoặc mảng Numpy. Về mặt kỹ thuật, mảng trong Python khác với cả hai khái niệm trên. Trong bài viết này, hãy cùng tìm hiểu xem mảng trong Python […]

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Java - Ngoại lệ - ngoại lệ trong ví dụ java

By ads_php