2016-02-25 15 views
5

Tôi hy vọng điều này không có vẻ là một câu hỏi mở để thảo luận. Tôi sẽ đưa ra một số chi tiết cho trường hợp cụ thể của tôi.Có tốt hơn khi lưu trữ Khung dữ liệu Pandas trong từ điển hoặc trong Bảng điều khiển không?

Tôi mới dùng Pandas và tôi cần lưu trữ nhiều mảng 2D, trong đó các cột đại diện cho tần số và hàng đại diện cho chỉ đường (phổ sóng 2D, nếu bạn tò mò). Mỗi mảng đại diện cho một thời gian cụ thể.

Tôi đang lưu trữ các mảng như Pandas DataFrames, nhưng để giữ chúng trong một đối tượng duy nhất tôi nghĩ đến 2 lựa chọn:

  1. Lưu trữ các DataFrames trong một cuốn từ điển mà quan trọng là tem thời gian.

  2. Lưu trữ khung dữ liệu trong bảng điều khiển gấu trúc trong đó mục là dấu thời gian.

Tùy chọn đầu tiên có vẻ đơn giản và linh hoạt để lưu trữ các mảng với các kích thước, chỉ mục và tên cột khác nhau. Tùy chọn thứ hai có vẻ tốt hơn để xử lý dữ liệu, vì Bảng có các phương pháp cụ thể và cũng có thể dễ dàng được lưu hoặc xuất (ví dụ: csv hoặc pickle).

Lựa chọn nào trong số hai tùy chọn này phù hợp hơn về: tốc độ, sử dụng bộ nhớ, tính linh hoạt và phân tích dữ liệu?

Kính trọng

+0

pandas dataframe. Tôi không thấy làm thế nào điều này không có sự linh hoạt bạn mô tả cho các tùy chọn 1. Có lẽ một ví dụ lặp lại đơn giản sẽ chiếu sáng mọi thứ? – kilojoules

+0

Xin lỗi, tôi đang chỉnh sửa câu hỏi của mình. Tôi đã không giải thích rằng tôi đã lưu trữ dữ liệu trong Khung dữ liệu. Câu hỏi của tôi là lựa chọn tốt nhất để giữ các khung dữ liệu với nhau trong một đối tượng duy nhất là gì. – jcdoming

+1

Bạn đã xem xét các khung dữ liệu lồng nhau chưa? – kilojoules

Trả lời

1

Tôi không nghĩ bạn cần một bảng điều khiển. Tôi khuyên bạn nên sử dụng một phương pháp dataframe lồng nhau.

+0

Rất tiếc. Bạn có thể cho tôi biết làm thế nào để làm điều này? Tôi cần phải thêm mỗi dataframe vào dataframe mẹ bên trong một vòng lặp và nó dường như không hoạt động. Có thể một mã mẫu có thể giúp ích. Đây là cách tôi đang làm nó cho đến nay bằng cách sử dụng từ điển: 'E [ngày] = pd.DataFrame (Aux, index = f, cột = dirs)'. Trong đó * E * là một từ điển, * ngày * là một phao và * Aux *, * f * và * dirs * một danh sách. – jcdoming

+0

Một ví dụ đơn giản và lặp lại sẽ làm cho tấn này dễ trả lời hơn. Lỗi nào được tạo ra? Về cơ bản, bạn muốn nhưng 'NaN' không có mục nhập hợp lệ. – kilojoules

Các vấn đề liên quan