“Đã có 5 Exabyte thông tin được tạo ra từ buổi bình minh của nền văn minh cho đến năm 2003, nhưng lượng thông tin đó hiện được tạo ra cứ sau 2 ngày”. Eric Schmidt
Nếu bạn là người dùng R, rất có thể bạn đã và đang sử dụng gói
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt2.
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt3 là phần mở rộng của gói
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt4 trong R. Đây cũng là gói dành cho người dùng R khi tổng hợp nhanh dữ liệu lớn [bao gồm 100GB RAM]
Gói
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt2 của R là một gói rất linh hoạt và có hiệu suất cao do dễ sử dụng, tiện lợi và tốc độ lập trình. Đây là một gói khá nổi tiếng trong cộng đồng R với hơn 400 nghìn lượt tải xuống mỗi tháng và gần 650 gói CRAN và Bioconductor sử dụng nó [nguồn]
Vì vậy, có gì trong đó cho người dùng Python? . Theo một cách nào đó, nó có thể được gọi là dữ liệu. em của bàn
Bảng dữ liệu
Các ứng dụng máy học hiện đại cần xử lý một lượng dữ liệu khổng lồ và tạo ra nhiều tính năng. Điều này là cần thiết để xây dựng các mô hình với độ chính xác cao hơn. Mô-đun
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt7 của Python đã được tạo để giải quyết vấn đề này. Nó là bộ công cụ để thực hiện các hoạt động dữ liệu lớn [tối đa 100GB] trên một máy một nút, ở tốc độ tối đa có thể. Sự phát triển của bảng dữ liệu được tài trợ bởi H2O. ai và người dùng đầu tiên của
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt7 là Driverless. ai
Bộ công cụ này rất giống gấu trúc nhưng tập trung hơn vào tốc độ và hỗ trợ dữ liệu lớn.
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt7 của Python cũng cố gắng đạt được trải nghiệm người dùng tốt, thông báo lỗi hữu ích và API mạnh mẽ. Trong bài viết này, chúng ta sẽ xem cách chúng ta có thể sử dụng datatable và cách nó ghi điểm trên gấu trúc khi nói đến các tập dữ liệu lớn
Cài đặt
Trên MacOS, có thể dễ dàng cài đặt dữ liệu với pip
pip install datatable
Trên Linux, cài đặt đạt được với phân phối nhị phân như sau
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt0
Hiện tại, datatable không hoạt động trên Windows nhưng công việc đang được thực hiện để thêm hỗ trợ cho Windows.
Để biết thêm thông tin, hãy xem Hướng dẫn xây dựng.
Bạn có thể truy cập mã cho bài viết này từ Kho lưu trữ Github được liên kết hoặc có thể xem trên bìa hồ sơ của tôi bằng cách nhấp vào hình ảnh bên dưới
Đọc dữ liệu
Bộ dữ liệu đang được sử dụng đã được lấy từ Kaggle và thuộc về. Bộ dữ liệu bao gồm dữ liệu khoản vay hoàn chỉnh cho tất cả các khoản vay được phát hành trong giai đoạn 2007–2015, bao gồm cả trạng thái khoản vay hiện tại [Hiện tại, Trễ hạn, Đã thanh toán đầy đủ, v.v. ] và thông tin thanh toán mới nhất. Tệp bao gồm 2. 26 triệu hàng và 145 cột. Kích thước dữ liệu lý tưởng để thể hiện khả năng của thư viện có thể dữ liệu
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt
Hãy tải dữ liệu vào đối tượng
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt21. Đơn vị phân tích cơ bản trong datatable là một
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt21. Đó là khái niệm tương tự như bảng DataFrame hoặc SQL của gấu trúc. dữ liệu được sắp xếp trong một mảng hai chiều với các hàng và cột
Với dữ liệu
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt2
Hàm
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt23 ở trên vừa mạnh vừa cực kỳ nhanh. Nó có thể tự động phát hiện và phân tích các tham số cho phần lớn các tệp văn bản, tải dữ liệu từ. zip hoặc URL, đọc tệp Excel, v.v.
Ngoài ra, trình phân tích cú pháp dữ liệu.
- Có thể tự động phát hiện dấu phân cách, tiêu đề, loại cột, quy tắc trích dẫn, v.v.
- Có thể đọc dữ liệu từ nhiều nguồn bao gồm tệp, URL, trình bao, văn bản thô, kho lưu trữ và toàn cầu
- Cung cấp khả năng đọc tệp đa luồng cho tốc độ tối đa
- Bao gồm một chỉ báo tiến trình khi đọc các tệp lớn
- Có thể đọc cả tệp tuân thủ và không tuân thủ RFC4180
Với gấu trúc
Bây giờ, hãy tính thời gian gấu trúc đọc cùng một tệp
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt6
Kết quả cho thấy datatable rõ ràng vượt trội hơn pandas khi đọc các tập dữ liệu lớn. Trong khi gấu trúc mất hơn một phút, dữ liệu chỉ mất vài giây cho cùng
Chuyển đổi khung hình
Khung hiện có cũng có thể được chuyển đổi thành khung dữ liệu gọn gàng hoặc gấu trúc như sau
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt7
Hãy chuyển đổi khung hình hiện tại của chúng ta thành đối tượng khung dữ liệu gấu trúc và so sánh thời gian thực hiện
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt8
Có vẻ như việc đọc một tệp dưới dạng khung dữ liệu và sau đó chuyển đổi nó thành khung dữ liệu gấu trúc mất ít thời gian hơn so với đọc qua khung dữ liệu gấu trúc. Vì vậy, có thể là một ý tưởng hay nếu nhập một tệp dữ liệu lớn thông qua datatable và sau đó chuyển đổi nó thành pandas dataframe
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt9
Thuộc tính khung cơ bản
Hãy xem xét một số thuộc tính cơ bản của khung có thể truy cập dữ liệu tương tự như thuộc tính của gấu trúc
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt0
Chúng ta cũng có thể sử dụng lệnh
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt24 để xuất 'n' hàng trên cùng
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt2
Một cái nhìn thoáng qua về 10 hàng đầu tiên của khung dữ liệu
Màu biểu thị kiểu dữ liệu trong đó đỏ biểu thị chuỗi, xanh lá cây biểu thị int và xanh dương biểu thị float
Thống kê tóm tắt
Tính toán số liệu thống kê tóm tắt trong pandas là một quá trình tiêu tốn bộ nhớ nhưng không còn nữa với datatable. Chúng tôi có thể tính toán số liệu thống kê tóm tắt trên mỗi cột sau bằng cách sử dụng dữ liệu.
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt00
Hãy tính giá trị trung bình của các cột bằng cách sử dụng cả datatable và pandas để đo chênh lệch múi giờ
Với dữ liệu
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt01
Với gấu trúc
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt02
Lệnh trên không thể hoàn thành trong gấu trúc vì nó bắt đầu gây ra lỗi bộ nhớ
Thao tác dữ liệu
Bảng dữ liệu như khung dữ liệu là cấu trúc dữ liệu cột. Trong dữ liệu, phương tiện chính cho tất cả các hoạt động này là ký hiệu dấu ngoặc vuông lấy cảm hứng từ lập chỉ mục ma trận truyền thống nhưng có nhiều chức năng hơn
ký hiệu dấu ngoặc vuông của datatable
Ký hiệu DT[i, j] tương tự được sử dụng trong toán học khi lập chỉ mục cho ma trận, trong C/C++, trong R, trong pandas, trong numpy, v.v. Hãy xem cách chúng ta có thể thực hiện các hoạt động thao tác dữ liệu phổ biến bằng cách sử dụng dữ liệu
#Chọn Tập hợp con của Hàng/Cột
Đoạn mã sau chọn tất cả các hàng và cột
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt25 từ tập dữ liệu
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt03
Đây là cách chúng ta có thể chọn 5 hàng và 3 cột đầu tiên
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt04
# Sắp Xếp Khung Hình
Với dữ liệu có thể truy cập được
Việc sắp xếp khung theo một cột cụ thể có thể được thực hiện bằng cách
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt7như sau.
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt05
Với gấu trúc
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt06
Lưu ý sự khác biệt đáng kể về thời gian giữa datable và pandas
#Xóa Hàng/Cột
Đây là cách chúng tôi có thể xóa cột có tên
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt27
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt07
#NhómBy
Cũng giống như trong pandas, datatable cũng có các chức năng nhóm. Hãy xem cách chúng ta có thể lấy giá trị trung bình của cột
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt28 được nhóm theo cột
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt29
Với dữ liệu
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt08
Với gấu trúc
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt09
Cái gì. f là viết tắt của?
____160 là viết tắt của
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt61 và cung cấp một cách đơn giản để chỉ Khung mà chúng tôi hiện đang vận hành. Trong trường hợp ví dụ của chúng ta,
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt62 chỉ đơn giản là viết tắt của
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt63.
#Lọc Hàng
Cú pháp lọc hàng khá giống với GroupBy. Hãy để chúng tôi lọc những hàng của
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt64 mà giá trị của
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt64 lớn hơn
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt25
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt0
Lưu khung
Cũng có thể ghi nội dung của Khung vào tệp
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt67 để có thể sử dụng nó trong tương lai
# Importing necessary Librariesimport numpy as np import pandas as pd import datatable as dt1
Để biết thêm các chức năng thao tác dữ liệu, hãy tham khảo trang tài liệu
Phần kết luận
Mô-đun datatable chắc chắn tăng tốc độ thực thi so với pandas mặc định và đây chắc chắn là một lợi ích khi làm việc trên các bộ dữ liệu lớn. Tuy nhiên, datatable thua pandas về chức năng. Nhưng vì datatable vẫn đang trong quá trình phát triển tích cực, chúng tôi có thể thấy một số bổ sung chính cho thư viện trong tương lai