Tin tức và phân tích của tất cả các thiết bị di động

Đây là lý do tại sao Pandas là thư viện phân tích dữ liệu Python phổ biến nhất

Pandas là thư viện phân tích dữ liệu phổ biến nhất cho Python. Nó được sử dụng rộng rãi bởi các nhà khoa học dữ liệu, nhà khoa học dữ liệu và kỹ sư máy học.

Cùng với NumPy, đây là một trong những thư viện và công cụ cần phải biết đối với bất kỳ ai làm việc với dữ liệu và AI.

Trong bài viết này, chúng ta hãy xem Pandas và các tính năng khiến nó trở nên phổ biến trong hệ sinh thái dữ liệu.

gấu trúc là gì?

Pandas là thư viện phân tích dữ liệu cho Python. Điều này có nghĩa là nó được sử dụng để làm việc và thao tác dữ liệu từ mã Python. Với Pandas, bạn có thể đọc, xử lý, trực quan hóa, phân tích và lưu trữ dữ liệu một cách hiệu quả.

Cái tên “Pandas” xuất phát từ sự kết hợp của các từ Dữ liệu bảng, một thuật ngữ kinh tế lượng dùng để chỉ dữ liệu thu được từ sự quan sát của nhiều người theo thời gian. Pandas ban đầu được Wes Kinney phát hành vào tháng 1 năm 2008 và từ đó đã trở thành thư viện phổ biến nhất cho trường hợp sử dụng của nó.

Trọng tâm của Pandas là hai cấu trúc dữ liệu cơ bản mà bạn nên biết, Dataframes và Series. Khi bạn tạo hoặc tải tập dữ liệu trong Pandas, nó được biểu thị dưới dạng một trong hai cấu trúc dữ liệu này.

Trong phần tiếp theo, chúng ta sẽ xem chúng là gì, chúng khác nhau như thế nào và khi nào nên sử dụng một trong số chúng là lý tưởng.

Cấu trúc dữ liệu chính

Như đã đề cập trước đó, tất cả dữ liệu trong Pandas được biểu diễn bằng một trong hai cấu trúc dữ liệu, khung dữ liệu hoặc chuỗi. Hai cấu trúc dữ liệu này được giải thích chi tiết dưới đây.

khung dữ liệu

Khung dữ liệu mẫu này được tạo bằng đoạn mã ở cuối phần này

Khung dữ liệu trong Pandas là cấu trúc dữ liệu hai chiều với các cột và hàng. Nó tương tự như bảng tính trong ứng dụng bảng tính hoặc bảng trong cơ sở dữ liệu quan hệ.

Nó bao gồm các cột và mỗi cột đại diện cho một thuộc tính hoặc tính năng trong tập dữ liệu. Các cột này sau đó bao gồm các giá trị riêng lẻ. Danh sách hoặc chuỗi các giá trị đơn lẻ này được biểu diễn dưới dạng đối tượng chuỗi. Chúng ta sẽ thảo luận về cấu trúc dữ liệu chuỗi chi tiết hơn ở phần sau của bài viết này.

Các cột trong khung dữ liệu có thể có tên mô tả để bạn có thể phân biệt chúng. Những tên này được chỉ định khi tạo hoặc tải khung dữ liệu nhưng có thể dễ dàng thay đổi bất kỳ lúc nào.

Các giá trị trong cột phải có cùng kiểu dữ liệu, mặc dù các cột không nhất thiết phải chứa cùng kiểu dữ liệu. Điều này có nghĩa là cột tên trong tập dữ liệu sẽ chỉ lưu trữ chuỗi. Nhưng cùng một tập dữ liệu có thể có các cột khác như tuổi nơi lưu trữ int.

Các khung dữ liệu cũng có một chỉ mục được sử dụng để chỉ các hàng. Các giá trị ở các cột khác nhau nhưng có cùng chỉ mục tạo thành một hàng. Các chỉ mục được đánh số theo mặc định nhưng có thể được gán lại để khớp với tập dữ liệu. Trong ví dụ (được hiển thị ở trên, được mã hóa bên dưới), chúng tôi đặt cột chỉ mục thành cột “tháng”.

import pandas as pd

sales_df = pd.DataFrame({
    'Month': ['January', 'February', 'March'],
    'Jane Doe': [5000, 6000, 5500],
    'John Doe': [4500, 6700, 6000]
})

sales_df.set_index(['Month'], inplace=True)

print(sales_df)

Loạt

Lần chạy mẫu này được tạo bằng cách sử dụng mã được liệt kê ở cuối phần này

Như đã thảo luận trước đó, Series được sử dụng để thể hiện một cột dữ liệu trong Pandas. Do đó, chuỗi là cấu trúc dữ liệu một chiều. Điều này trái ngược với khung dữ liệu, có hai chiều.

Mặc dù một chuỗi thường được sử dụng làm cột trong khung dữ liệu, nhưng nó cũng có thể tự biểu thị một tập dữ liệu hoàn chỉnh, miễn là tập dữ liệu chỉ có một thuộc tính được đăng ký trên mỗi cột. Hay đúng hơn, tập dữ liệu chỉ là một danh sách các giá trị.

Vì chuỗi chỉ có một cột nên nó không cần tên. Tuy nhiên, các giá trị trong Series đều được lập chỉ mục. Giống như chỉ mục khung dữ liệu, khung dữ liệu chuỗi có thể được sửa đổi từ cách đánh số mặc định.

Trong ví dụ (được hiển thị ở trên, được mã hóa bên dưới), chỉ mục được đặt thành các tháng khác nhau bằng cách sử dụng phương thức set_axis của đối tượng Pandas Series.

import pandas as pd

total_sales = pd.Series([9500, 12700, 11500])
months = ['January', 'February', 'March']

total_sales = total_sales.set_axis(months)

print(total_sales)

đặc điểm gấu trúc

Bây giờ bạn đã hiểu rõ về Pandas là gì và cấu trúc dữ liệu chính mà nó sử dụng, chúng ta có thể bắt đầu thảo luận về các tính năng giúp Pandas trở thành thư viện phân tích dữ liệu mạnh mẽ và do đó cực kỳ phổ biến trong Hệ sinh thái Khoa học Dữ liệu và Học máy.

# 1. Thao tác dữ liệu

Các đối tượng Dataframe và Series có thể sửa đổi được. Bạn có thể thêm hoặc bớt cột nếu cần. Ngoài ra, Pandas cho phép bạn thêm hàng và thậm chí hợp nhất các tập dữ liệu.

Bạn có thể thực hiện các phép tính số như chuẩn hóa dữ liệu và so sánh logic theo mục. Pandas cũng cho phép bạn nhóm dữ liệu và áp dụng các hàm tổng hợp như trung bình, trung bình, tối đa và tối thiểu. Điều này làm cho việc xử lý dữ liệu trong Pandas trở nên dễ dàng.

#2. Làm sạch dữ liệu

Dữ liệu thu được từ thế giới thực thường có các giá trị gây khó khăn khi làm việc hoặc không lý tưởng để phân tích hoặc sử dụng trong các mô hình học máy. Dữ liệu có thể sai loại, sai định dạng hoặc đơn giản là bị thiếu. Dù bằng cách nào, dữ liệu này cần được xử lý trước, được gọi là làm sạch, trước khi có thể sử dụng.

Pandas có các tính năng giúp bạn dọn dẹp dữ liệu của mình. Ví dụ: trong Pandas, bạn có thể xóa các hàng trùng lặp, xóa các cột hoặc hàng có dữ liệu bị thiếu và thay thế các giá trị bằng giá trị mặc định hoặc các giá trị khác, chẳng hạn như giá trị trung bình của một cột. Có nhiều tính năng và thư viện hơn hoạt động với Pandas để làm sạch dữ liệu nhiều hơn.

#3. Trực quan hóa dữ liệu

Biểu đồ này được tạo bằng mã bên dưới phần này

Mặc dù không phải là thư viện trực quan hóa như Matplotlib nhưng Pandas có các tính năng để tạo trực quan hóa dữ liệu cơ bản. Và mặc dù chúng rất cơ bản nhưng chúng vẫn hoàn thành công việc trong hầu hết các trường hợp.

Với Pandas, bạn có thể dễ dàng vẽ biểu đồ thanh, biểu đồ, ma trận điểm và các loại biểu đồ khác. Kết hợp điều đó với một số thao tác dữ liệu bạn có thể thực hiện trong Python và bạn có thể tạo các hình ảnh trực quan phức tạp hơn nữa để hiểu rõ hơn về dữ liệu của mình.

import pandas as pd

sales_df = pd.DataFrame({
    'Month': ['January', 'February', 'March'],
    'Jane Doe': [5000, 6000, 5500],
    'John Doe': [4500, 6700, 6000]
})

sales_df.set_index(['Month'], inplace=True)

sales_df.plot.line()

#4. Phân tích chuỗi thời gian

Pandas cũng hỗ trợ làm việc với dữ liệu được đánh dấu thời gian. Khi Pandas nhận ra một cột chứa giá trị ngày/giờ, bạn có thể thực hiện nhiều thao tác trên cùng một cột, điều này rất hữu ích khi làm việc với dữ liệu chuỗi thời gian.

Chúng bao gồm việc nhóm các quan sát theo khoảng thời gian và áp dụng các hàm tổng hợp như tổng hoặc trung bình cho chúng hoặc nhận các quan sát sớm nhất hoặc mới nhất bằng cách sử dụng min. và tối đa. Tất nhiên còn có nhiều điều bạn có thể làm với dữ liệu chuỗi thời gian trong Pandas.

#5. Nhập/Thoát trong Pandas

Pandas có thể đọc dữ liệu từ các định dạng lưu trữ dữ liệu phổ biến nhất. Chúng bao gồm các tệp JSON, SQL và tệp CSV. Bạn cũng có thể lưu dữ liệu vào tệp ở nhiều định dạng này.

Khả năng đọc và ghi vào các định dạng tệp dữ liệu khác nhau cho phép Pandas hoạt động liền mạch với các ứng dụng khác và xây dựng các đường dẫn dữ liệu tích hợp tốt với Pandas. Đây là một trong những lý do khiến Pandas được nhiều nhà phát triển sử dụng rộng rãi.

#6. Tích hợp với các thư viện khác

Pandas cũng có một hệ sinh thái phong phú gồm các công cụ và thư viện được xây dựng dựa trên nó để bổ sung cho chức năng của nó. Điều này làm cho nó trở thành một thư viện mạnh mẽ và hữu ích hơn.

Các công cụ trong hệ sinh thái Pandas nâng cao chức năng của nó trong nhiều lĩnh vực khác nhau, bao gồm làm sạch dữ liệu, trực quan hóa, học máy, đầu vào/đầu ra và song song. Pandas lưu giữ hồ sơ về những công cụ như vậy trong tài liệu của mình.

Cân nhắc về hiệu suất và hiệu suất trong Pandas

Mặc dù Pandas tỏa sáng trong hầu hết các hoạt động nhưng nó có thể nổi tiếng là chậm. Mặt tích cực là bạn có thể tối ưu hóa mã của mình và cải thiện tốc độ của nó. Để làm được điều này, bạn cần hiểu cách Pandas được xây dựng.

Pandas được xây dựng dựa trên NumPy, một thư viện Python phổ biến dành cho tính toán số và khoa học. Do đó, giống như NumPy, Pandas hoạt động hiệu quả hơn khi các thao tác được vector hóa thay vì chọn từng ô hoặc hàng riêng lẻ bằng một vòng lặp.

Vector hóa là một dạng song song trong đó cùng một thao tác được áp dụng đồng thời cho nhiều điểm dữ liệu. Nó được gọi là SIMD – Lệnh đơn, nhiều dữ liệu. Việc sử dụng các phép toán vectơ sẽ cải thiện đáng kể tốc độ và hiệu suất của Pandas.

Bởi vì họ sử dụng mảng NumPy một cách cơ bản nên cấu trúc dữ liệu DataFrame và Series nhanh hơn các danh sách và từ vựng thay thế của họ.

Việc triển khai mặc định của Panda chỉ chạy trên một lõi CPU. Một cách khác để tăng tốc mã là sử dụng các thư viện cho phép Pandom sử dụng tất cả các lõi CPU có sẵn. Chúng bao gồm Dask, Vaex, Modin và IPython.

Cộng đồng và tài nguyên

Là một thư viện phổ biến của ngôn ngữ lập trình phổ biến nhất, Pandas có một cộng đồng người dùng và cộng tác viên đông đảo. Kết quả là, có rất nhiều tài nguyên bạn có thể sử dụng để tìm hiểu cách sử dụng nó. Chúng bao gồm các tài liệu chính thức của Panda. Nhưng cũng có vô số khóa học, hướng dẫn và sách để bạn học hỏi.

Ngoài ra còn có các cộng đồng trực tuyến trên các nền tảng như Reddit trong subreddit r/Python và r/Data Science nơi bạn có thể đặt câu hỏi và nhận câu trả lời. Là một thư viện nguồn mở, bạn có thể gửi các vấn đề trên GitHub và thậm chí đóng góp mã.

những từ cuối

Pandas cực kỳ hữu ích và mạnh mẽ như một thư viện khoa học dữ liệu. Trong bài viết này, tôi đã cố gắng giải thích mức độ phổ biến của nó bằng cách khám phá các tính năng khiến nó trở thành một công cụ thiết yếu cho các nhà khoa học và nhà phát triển dữ liệu.

Sau đó, hãy xem cách tạo Pandas DataFrame.