2015-05-29 34 views
20

Tôi mới sử dụng Pandas. Tôi đã tải xuống và cài đặt Anaconda. Sau đó, tôi đã cố gắng chạy đoạn mã sau thông qua ứng dụng Spyder:Lỗi gấu trúc - giá trị không hợp lệ gặp phải

import pandas as pd 
import numpy as np 

train = pd.read_csv('/Users/Ben/Documents/Kaggle/Titanic/train.csv') 
train 

Mặc dù đây in các dataframe như tôi mong đợi, nó cũng cho thấy những lỗi

//anaconda/lib/python3.4/site-packages/pandas/core/format.py:1969: RuntimeWarning: invalid value encountered in greater 
    has_large_values = (abs_vals > 1e8).any() 
//anaconda/lib/python3.4/site-packages/pandas/core/format.py:1970: RuntimeWarning: invalid value encountered in less 
    has_small_values = ((abs_vals < 10 ** (-self.digits)) & 
//anaconda/lib/python3.4/site-packages/pandas/core/format.py:1971: RuntimeWarning: invalid value encountered in greater 
    (abs_vals > 0)).any() 

Tại sao tôi nhận các lỗi này?

EDIT: Tôi vừa kiểm tra mã ở trên trong sổ ghi chép IPython và nó hoạt động mà không có lỗi. Vì vậy, có gì sai với cài đặt Spyder của tôi không? Bất kỳ trợ giúp sẽ được đánh giá cao.

EDIT2: Sau một số thử nghiệm, tôi có thể đọc 5 hàng đầu tiên của CSV mà không nhận được cảnh báo. Vì vậy, tôi nghi ngờ một số NaN trong hàng thứ 6 cho cột loại float64 đang kích hoạt cảnh báo.

+0

không bao giờ thấy điều này trước đây, nhưng tôi sử dụng WinPython, bạn có thể thử cài đặt lại Anaconda – EdChum

+0

@EdChum cài đặt lại Anaconda và tôi vẫn nhận được lỗi này – Ben

+0

Đối với bất cứ ai quan tâm, bạn có thể tải về train.csv bộ dữ liệu [ở đây] (https://www.kaggle.com/c/titanic/data) – Ben

Trả lời

28

Tôi có lỗi tương tự và đã quyết định rằng đó là lỗi. Nó dường như được gây ra bởi sự hiện diện của các giá trị NaN trong một DataFrame trong Spyder. Tôi đã gỡ bỏ cài đặt và cài đặt lại tất cả các gói và không có gì đã ảnh hưởng đến nó. Giá trị NaN được hỗ trợ và hoàn toàn hợp lệ trong DataFrames, đặc biệt nếu chúng có chỉ mục DateTime.

Cuối cùng tôi đã giải quyết để ngăn chặn các cảnh báo này như sau.

import warnings 
warnings.simplefilter(action = "ignore", category = RuntimeWarning) 
Các vấn đề liên quan