2015-05-29 10 views
20

Ich bin neu bei Pandas. Ich habe Anaconda heruntergeladen und installiert. Dann habe ich versucht den folgenden Code über den Spyder App ausgeführt wird:Pandas Fehler - ungültiger Wert gefunden

import pandas as pd 
import numpy as np 

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

Obwohl dies die Datenrahmen druckt, wie ich erwartet hatte, es zeigt auch, diese Fehler

//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() 

Warum erhalte ich diese Fehler zu bekommen?

EDIT: Ich habe gerade den obigen Code in einem IPython Notebook getestet und es funktioniert ohne Fehler. Also, stimmt etwas nicht mit meiner Spyder Installation? Jede Hilfe wäre willkommen.

EDIT2: Nach einigen Tests kann ich die ersten 5 Zeilen der CSV lesen, ohne die Warnung zu erhalten. Also, ich vermute, ein NaN in der 6. Reihe für eine float64 Art Spalte löst die Warnung aus.

+0

dies noch nie zuvor gesehen, aber ich WinPython, könnte man anaconda – EdChum

+0

@EdChum neu installiert Anaconda versuchen Neuinstallation und ich bin immer noch diesen Fehler – Ben

+0

Für alle Interessierten bekommen, können Sie die train.csv-Datensatz herunterladen [hier] (https://www.kaggle.com/c/titanic/data) – Ben

Antwort

28

Ich habe den gleichen Fehler und habe entschieden, dass es ein Fehler ist. Es scheint durch das Vorhandensein von NaN-Werten in einem DataFrame in Spyder verursacht zu werden. Ich habe alle Pakete deinstalliert und neu installiert und nichts hat es bewirkt. NaN-Werte werden unterstützt und sind in DataFrames vollständig gültig, insbesondere wenn sie einen DateTime-Index haben.

Am Ende habe ich beschlossen, diese Warnungen wie folgt zu unterdrücken.

import warnings 
warnings.simplefilter(action = "ignore", category = RuntimeWarning) 
Verwandte Themen