Hướng dẫn what can i use instead of pandas in python? - tôi có thể sử dụng cái gì thay vì gấu trúc trong python?

Hướng dẫn what can i use instead of pandas in python? - tôi có thể sử dụng cái gì thay vì gấu trúc trong python?

Tiểu sử

Nếu bạn đã thực hiện bất kỳ loại phân tích dữ liệu nào trong Python, rất có thể bạn đã sử dụng gấu trúc. Mặc dù được sử dụng rộng rãi trong thế giới dữ liệu, nhưng nếu bạn chạy vào không gian hoặc các vấn đề tính toán với nó, bạn không đơn độc. Bài đăng này thảo luận về một số lựa chọn thay thế nhanh hơn cho gấu trúc.pandas. Though widely used in the data world, if you’ve run into space or computational issues with it, you’re not alone. This post discusses several faster alternatives to pandas.

Bảng dữ liệu Riên trong Python

Nếu bạn đã sử dụng R, bạn có thể quen thuộc với gói dữ liệu. Một cổng của thư viện này cũng có sẵn trong Python. Trong ví dụ này, chúng tôi chỉ ra cách bạn có thể đọc trong tệp CSV nhanh hơn so với sử dụng gấu trúc tiêu chuẩn. Đối với mục đích của chúng tôi, chúng tôi sẽ sử dụng bộ dữ liệu nguồn mở từ kho lưu trữ UCI.data.table package. A port of this library is also available in Python. In this example, we show how you can read in a CSV file faster than using standard pandas. For our purposes, we’ll be using an open source dataset from the UCI repository.

import datatable

start = time.time()
os_scan_data = datatable.fread("OS Scan_dataset.csv", header = None)
end = time.time()

print(end - start)


Hướng dẫn what can i use instead of pandas in python? - tôi có thể sử dụng cái gì thay vì gấu trúc trong python?

Sử dụng DataTable, chúng ta có thể đọc trong tệp CSV trong ~ 20 giây. Đọc cùng một tập tin bằng cách sử dụng gấu trúc mất gần 76 giây!datatable, we can read in the CSV file in ~20 seconds. Reading the same file using pandas takes almost 76 seconds!

Hướng dẫn what can i use instead of pandas in python? - tôi có thể sử dụng cái gì thay vì gấu trúc trong python?

Tiếp theo, chúng ta cũng có thể sắp xếp nhanh hơn với DataTable.datatable.

start = time.time()
os_scan_data[0].sort()
end = time.time()

print(end - start)

Trong DataTable, điều này mất ~ 0,002 giây, nhưng mất ~ 0,934 giây trong gấu trúc.datatable, this takes ~0.002 seconds, but takes ~0.934 seconds in pandas.

Hướng dẫn what can i use instead of pandas in python? - tôi có thể sử dụng cái gì thay vì gấu trúc trong python?

Hướng dẫn what can i use instead of pandas in python? - tôi có thể sử dụng cái gì thay vì gấu trúc trong python?

Trong một bài viết sau, chúng tôi sẽ đi sâu vào chi tiết hơn với DataTable. Bạn có thể kiểm tra tài liệu của nó bằng cách nhấp vào đây.datatable. You can check out its documentation by clicking here.

Gói Modin

Modin là một thay thế gấu trúc khác để tăng tốc các chức năng trong khi vẫn giữ cú pháp phần lớn giống nhau. Modin hoạt động bằng cách sử dụng nhiều lõi có sẵn trên máy (ví dụ như máy tính xách tay của bạn) để chạy các hoạt động gấu trúc song song. Vì hầu hết các máy tính xách tay có từ bốn đến tám lõi, điều này có nghĩa là bạn vẫn có thể tăng hiệu suất ngay cả khi không sử dụng máy chủ mạnh hơn. is another pandas alternative to speed up functions while keeping the syntax largely the same. modin works by utilizing the multiple cores available on a machine (like your laptop, for instance) to run pandas operations in parallel. Since most laptops have between four and eight cores, this means you can still have a performance boost even without using a more powerful server.

Đầu tiên, hãy để cài đặt Modin bằng PIP. Đối với bước này, chúng tôi sẽ cài đặt tất cả các phụ thuộc, bao gồm Dask và Ray. Chúng sẽ không được cài đặt nếu bạn bỏ qua phần [tất cả] của lệnh cài đặt.modin using pip. For this step, we’re going to install all the dependencies, which includes dask and ray. These will not be installed if you leave out the “[all]” piece of the installation command.

pip install modin[all]

Tiếp theo, chúng tôi có thể bắt đầu bằng cách nhập gói như dưới đây. Chúng tôi cũng sẽ nhập gói thời gian để so sánh Runtimes.time package to compare runtimes.

import modin.pandas as pd
import time

Trong ví dụ này, chúng tôi sẽ sử dụng bộ dữ liệu được tìm thấy ở đây.

os_scan_data = pd.read_csv("OS Scan_dataset.csv", header = None)

Ngoài ra, chúng tôi sẽ tăng kích thước của bộ dữ liệu một cách giả tạo bằng cách sao chép các hàng nhiều lần:

combined_data = pd.concat([os_scan_data, os_scan_data, os_scan_data])

Điều này cung cấp cho chúng tôi một bộ dữ liệu với hơn 5 triệu hàng và 115 cột.

Tiếp theo, hãy để tạo ra một cột mới bằng cách sử dụng chức năng bản đồ. Sử dụng Modin, chúng tôi có thể tạo trường mới trong khoảng 0,03 giây.modin, we’ll able to generate the new field in around 0.03 seconds.

start = time.time()
combined_data["test"] = combined_data[9].map(lambda val: "above" if val > 3 else "below")
end = time.time()

print(end - start)

Hướng dẫn what can i use instead of pandas in python? - tôi có thể sử dụng cái gì thay vì gấu trúc trong python?

Nếu chúng ta sử dụng gấu trúc thông thường, chúng ta sẽ nhận được kết quả sau đây ở mức ~ 1,34 giây.pandas, we get the following result at ~1.34 seconds.

Hướng dẫn what can i use instead of pandas in python? - tôi có thể sử dụng cái gì thay vì gấu trúc trong python?

Kiểm tra thêm về Modin bằng cách nhấp vào đây.modin by clicking here.

Thư viện Pandacy

Pandable là một thay thế khác cho gấu trúc. Theo trang tài liệu của mình, Pandable được khuyến nghị là một giải pháp thay thế nhanh hơn tiềm năng cho gấu trúc khi dữ liệu mà bạn xử lý có ít hơn 50.000 hàng, nhưng có thể cao tới 500.000 hàng, tùy thuộc vào dữ liệu. Một lợi ích khác của gói này là nó thường giảm lượng bộ nhớ cần thiết để lưu trữ bộ dữ liệu khi bạn có các loại dữ liệu hỗn hợp. is another alternative to pandas. According to its documentation page, PandaPy is recommended as a potential faster alternative to pandas when the data you’re dealing with has less than 50,000 rows, but possibly as high as 500,000 rows, depending on the data. Another benefit of this package is that it often reduces the amount of memory needed to store datasets when you have mixed data types.

Pandable có thể được tải xuống thông qua PIP: can be download via pip:

pip install pandapy

Trong ví dụ này, chúng tôi sẽ sử dụng bộ dữ liệu thẻ tín dụng từ Kaggle. Bây giờ, chúng ta có thể đọc trong dữ liệu. Trong Pandology, bộ dữ liệu được đọc dưới dạng một mảng có cấu trúc.PandaPy, the dataset is read in as a structured array.

import pandapy as pp

# read in dataset
credit_data = pp.read("creditcard.csv")

# get descriptive stats
pp.describe(credit_data)

Hướng dẫn what can i use instead of pandas in python? - tôi có thể sử dụng cái gì thay vì gấu trúc trong python?

Các hoạt động cột chung tương tự - ví dụ, chúng ta có thể chia hai cột giống như trong gấu trúc:pandas:

credit_data["V1"] / credit_data["V2"]

Tương tự, chúng ta có thể có được giá trị trung bình của một cột giống như gấu trúc:pandas:

start = time.time()
os_scan_data[0].sort()
end = time.time()

print(end - start)

0

Xem tài liệu cho Pandacer ở đây.PandaPy here.

Numpy

Một số chức năng gấu trúc có thể được thực hiện hiệu quả hơn bằng cách sử dụng Numpy. Ví dụ: nếu bạn muốn tính toán các lượng tử, như 90% hoặc 95%, v.v., bạn có thể sử dụng gấu trúc hoặc numpy. Tuy nhiên, Numpy nói chung sẽ nhanh hơn.pandas functions can be implemented more efficiently using numpy. For example, if you want to calculate quantiles, like the 90% or 95%, etc., you can use either pandas or numpy. However, numpy will generally be faster.

start = time.time()
os_scan_data[0].sort()
end = time.time()

print(end - start)

1

Hướng dẫn what can i use instead of pandas in python? - tôi có thể sử dụng cái gì thay vì gấu trúc trong python?

Sự kết luận

Đó là tất cả cho bài viết này! Đây chỉ là một vài trong số các lựa chọn thay thế cho gấu trúc. Nếu bạn muốn xem các hướng dẫn về các lựa chọn thay thế khác, hãy cho tôi biết. Ngoài ra, nếu bạn thích đọc bài viết này, hãy đảm bảo chia sẻ nó với những người khác! Kiểm tra các bài viết Python khác của tôi bằng cách nhấp vào đây.pandas. If you’d like to see tutorials on other alternatives, feel free to let me know. Also, if you enjoyed reading this article, make sure to share it with others! Check out my other Python posts by clicking here.

Có cái gì tốt hơn gấu trúc không?

Các lựa chọn thay thế của gấu trúc Những công cụ này có thể được chia thành ba loại: tính toán song song/đám mây - dask, pyspark và modin.Bộ nhớ hiệu quả - Vaex.Ngôn ngữ lập trình khác nhau - Julia.Parallel/Cloud computing — Dask, PySpark, and Modin. Memory efficient — Vaex. Different programming language — Julia.

Điều gì tốt hơn Pandas DataFrame?

Do thực hiện song song trên tất cả các lõi trên nhiều máy, pyspark chạy các hoạt động nhanh hơn gấu trúc, do đó chúng tôi thường yêu cầu phải che giấu dữ liệu gấu trúc cho pyspark (Spark với python) để có hiệu suất tốt hơn.Đây là một trong những khác biệt chính giữa gấu trúc vs pyspark DataFrame.PySpark runs operations faster than Pandas, hence we often required to covert Pandas DataFrame to PySpark (Spark with Python) for better performance. This is one of the major differences between Pandas vs PySpark DataFrame.

Tôi có thể sử dụng numpy thay vì gấu trúc không?

Cấp, bạn có thể làm nhiều điều tương tự trong cả hai thư viện;Bạn thậm chí có thể tạo khung dữ liệu gấu trúc từ các mảng numpy và ngược lại.you can even create pandas data frames from numpy arrays and vice-versa.

Thư viện nào tốt hơn gấu trúc?

Polars là một thư viện được thực hiện bằng ngôn ngữ rỉ sét.Ngoài ra, nó đã tạo ra nó cho ngôn ngữ Python.Nó là nhanh vì nó sử dụng tất cả các lõi trên máy tính của bạn.Bên cạnh đó, họ đã tối ưu hóa quá trình thao tác dữ liệu bằng thuật toán riêng của họ. is a library implemented using Rust language. Also, it's created it for the Python language. It is fast because it uses all cores on your computer. Besides that, they have optimized the data manipulation process using their own algorithm.