2015-11-10 22 views
5

Tôi tự hỏi liệu có ai đã nhìn thấy vấn đề này với Pandas trước đây không. Về cơ bản, tôi đang cố thêm, nhân và chia phần tử từng phần tử DataFrames (tất cả các khung có các chỉ mục và cột giống nhau), nhưng Pandas đang loại bỏ các kết quả khác nhau cho cùng một phép tính được thực hiện liên tục.Tính không ổn định của các tính toán dataframe của gấu trúc

Hình ảnh của một số kết quả ví dụ được hiển thị bên dưới. Tôi đã sử dụng .values trong mã bên dưới vì mục đích hiển thị, nhưng sự bất ổn có thể xảy ra khi sử dụng .add(), .mul() hoặc .div(). Ví dụ: nếu tôi liên tục nhập N11.add(N00), tôi thường nhận được câu trả lời đúng, nhưng đôi khi (mỗi lần thứ 4 hoặc thứ 5), tôi nhận được một DataFrame chứa đầy 0 giây.

enter image description here

Nếu vấn đề, tôi đang trên Windows 10 sử dụng một phân phối Anaconda của Pandas 0.17.0 (với Python 2.7.10 trên Spyder 2.3.7). Các khung hình mà tôi đang làm việc rất lớn (6856 x 12511). Đã có người khác gặp phải vấn đề này? Đây có phải là vấn đề đã biết hay tôi đang làm điều gì sai?

+0

Thú vị - bất kỳ cơ hội nào bạn có thể tạo lại hành vi với các Khung dữ liệu nhỏ hơn và đăng chúng như là một phần của câu hỏi ở đây? –

+0

(Ngoài ra nếu bạn chỉ cần nhân mảng NumPy này có thể là một vấn đề NumPy.) –

+0

Được rồi, tôi đã thử nó với một khung 10x10 nhỏ hơn, và không thể tái tạo nó sau gần 100 lần thử. Vì vậy, có thể kích thước không quan trọng ở đây. – user3111891

Trả lời

2

Tôi gặp sự cố tương tự ngày hôm nay và nguyên nhân là do a bug in numexpr 2.4.4 gây ra. Có vẻ như đang cắn người dùng gấu trúc khác theo nhiều cách khác nhau, như được báo cáo trong this pandas ticket và những người khác được liên kết với nó.

Nâng cấp numexpr lên 2.4.6 đã giải quyết được sự cố cho chúng tôi, nhưng có vẻ như mọi phiên bản không phải là 2.4.4 đều ổn!

+0

Cảm ơn mactyr! Điều đó dường như sửa chữa nó. Đối với một số lý do kỳ lạ, vấn đề đã biến mất một mình. Tôi đã cài đặt lại Anaconda nhiều lần trong khoảng thời gian đó vì những lý do không liên quan, vì vậy tôi nghĩ rằng bản sửa lỗi có thể là do việc cài đặt lại. Sau đó, đột nhiên, ngày hôm qua một bản cập nhật Windows đã đẩy vào tôi, và tất cả mọi thứ đã phá vỡ một lần nữa. Tôi cập nhật numexpr để v2.5 và bây giờ mọi thứ đã trở lại bình thường. Thật là một lỗi kỳ lạ! – user3111891

+0

@ user3111891, vâng, tôi nghĩ rằng có một đề cập đến trong vé numexpr tôi liên quan đến vấn đề là Windows cụ thể; nó có thể được liên kết với các cập nhật cụ thể hoặc chỉ là một cái gì đó về trạng thái tổng thể của hệ thống. Vì bạn dường như đồng ý rằng câu trả lời này giải quyết được vấn đề, bạn có thể đánh dấu nó như được chấp nhận không? Tôi không phải là một người dùng stackoverflow lớn nhưng nó sẽ được tốt đẹp để có được một chút đại diện cho một công việc cũng được thực hiện! :) (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) – mactyr

+0

Hi mactyr, vâng, xin lỗi, tôi đã cố gắng để làm điều đó, nhưng trong sự thiếu hiểu biết stackoverflow của tôi, Tôi đã thử nhấp vào mũi tên lên, đã bị từ chối bởi trang web vì tôi cũng là người mới. Tôi thấy kiểm tra ngay bây giờ và tôi rất vui được trao cho bạn giải thưởng lớn (chúc mừng!) Và cảm ơn bạn đã chia sẻ! – user3111891

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