Sự khác biệt giữa Pandas và NumPy + SciPy trong Python là gì? [đóng cửa]


195

Cả hai dường như cực kỳ giống nhau và tôi tò mò không biết gói nào sẽ có lợi hơn cho phân tích dữ liệu tài chính.

Câu trả lời:


312

gấu trúc cung cấp các công cụ thao tác dữ liệu cấp cao được xây dựng trên đỉnh NumPy. NumPy tự nó là một công cụ cấp thấp, tương tự như MATLAB. mặt khác, gấu trúc cung cấp chức năng chuỗi thời gian phong phú, căn chỉnh dữ liệu, thống kê thân thiện với NA, phương pháp nhóm, hợp nhất và tham gia, và rất nhiều tiện ích khác. Nó đã trở nên rất phổ biến trong những năm gần đây trong các ứng dụng tài chính. Tôi sẽ có một chương dành riêng cho phân tích dữ liệu tài chính bằng cách sử dụng gấu trúc trong cuốn sách sắp tới của tôi.


216
Bạn nên đề cập rằng bạn là tác giả chính của gấu trúc. :) Cuốn sách trong câu hỏi: shop.oreilly.com/product/0636920023784.do
Yktula

3
Sẽ công bằng khi nói rằng numpy chủ yếu cung cấp các mảng hiệu quả, trong khi gấu trúc cung cấp từ điển hiệu quả? (Trong cả hai trường hợp, giới hạn ở loại dữ liệu nhất quán thay vì dạng tự do.) Đối với tôi (tôi mới bắt đầu tìm hiểu về nó), điều này gây cho tôi sự khác biệt cơ bản: xử lý dữ liệu được ghép nhãn (trong 1d aka dicts và Bảng 2d aka). Căn chỉnh dữ liệu, tham gia, v.v ... tất cả đều có thể do điều này, nhưng đối với những người không hiểu được sự khác biệt tiềm ẩn đó thậm chí còn không rõ ý nghĩa của chúng (ví dụ: "căn chỉnh dữ liệu" của hai mảng numpy là gì?).
Brandyn

6
có thể là một câu hỏi ngớ ngẩn nhưng ý của bạn là gì NA-friendly statistics, được đề cập trong câu trả lời của bạn.
Adil Abbasi

6
Tôi nghĩ rằng, anh ta đề cập đến số liệu thống kê có tính đến dữ liệu bị thiếu (NA, "Không khả dụng")
user1319128

4
Chủ đề lạnh, nhưng về sự khác biệt hiệu suất bw một hoạt động phức tạp trong numpy, ví dụ, nhưng đơn giản hóa về mặt cú pháp trong gấu trúc? Có chi phí hiệu năng để đi theo đường dẫn cú pháp cấp cao, dễ dàng không?
3pitt

59

Numpy được yêu cầu bởi gấu trúc (và hầu như tất cả các công cụ số cho Python). Scipy không bắt buộc đối với gấu trúc nhưng được liệt kê dưới dạng "phụ thuộc tùy chọn". Tôi sẽ không nói rằng gấu trúc là một thay thế cho Numpy và / hoặc Scipy. Thay vào đó, nó là một công cụ bổ sung cung cấp cách làm việc hợp lý hơn với dữ liệu dạng số và dạng bảng trong Python. Bạn có thể sử dụng cấu trúc dữ liệu của gấu trúc nhưng tự do vẽ các hàm Numpy và Scipy để thao tác chúng.


4

Gấu trúc cung cấp một cách tuyệt vời để thao tác các bảng, vì bạn có thể làm cho việc tạo thùng dễ dàng (tạo một khung dữ liệu trong gấu trúc trong Python ) và tính toán số liệu thống kê. Một điều tuyệt vời khác trong gấu trúc là lớp Bảng điều khiển mà bạn có thể tham gia chuỗi các lớp với các thuộc tính khác nhau và kết hợp nó bằng chức năng nhóm.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.