2017-10-10 2 views
-1

Ich folgte this Tutorial und ich blieb gleich am Anfang stecken. Ich habe den Datensatz von here heruntergeladen, indem ich auf "Export" und dann auf "CSV (,)" geklickt habe.Python: Machine Learning Beherrschung: Zeit Daten stimmen nicht überein Format

Wenn mit dem folgenden Code-Snippet in dem

# load and plot dataset 
from pandas import read_csv 
from pandas import datetime 
from matplotlib import pyplot 
# load dataset 
def parser(x): 
    return datetime.strptime('190'+x, '%Y-%m') 
series = read_csv('shampoo-sales.csv', header=0, parse_dates=[0], index_col=0, squeeze=True, date_parser=parser) 
# summarize first few rows 
print(series.head()) 
# line plot 
series.plot() 
pyplot.show() 

bekomme ich folgende Fehler Tutorial vorgeschlagen:

time data '190Sales of shampoo over a three year period' does not match format '%Y-%m' 

Was kann ich tun?

Antwort

1

Am Ende Ihres shampoo-sales.csv ist die (unerwartete) Reihe

Sales of shampoo over a three year period

Ihr parser() ist 190 vor ihm setzen mag:

190Sales of shampoo over a three year period

und wandelt sie dann von einem dritten Muster '%Y-%m', Sie haben den genannten Fehler erhalten.

Nur löschen Sie diese Zeile von shampoo-sales.csv (vergessen Sie nicht, es zu speichern) und Ihr Programm wird ausgeführt.

+0

Ich habe es gemacht und jetzt bekomme ich immer noch einen Fehler: 'Zeitdaten '19001-Jan' entspricht nicht dem Format '% Y-% m'' –

+0

Während der Bearbeitung Ihrer heruntergeladenen' CSV' Datei (um diesen langen Text zu entfernen Ende der Datei) müssen Sie die erste Datenzeile ändern (Sie haben also "01-Jan", 266.0 "statt" "1-01", 266.0 "erhalten. Vielleicht auch andere Zeilen. Laden Sie einfach diese' CSV' herunter Datei erneut, entferne den langen Text am Ende der Datei, speichere ihn (und benenne ihn um, damit er deinem Dateinamen in deinem Code entspricht) Ich habe es (wieder) versucht und es hat funktioniert. – MarianD

0

Ohne in der Lage zu sein, die CSV-Datei zu betrachten, würde ich vermuten, dass die erste Zeile und erste Spalte "Verkäufe von Shampoo über einen Zeitraum von drei Jahren" Werfen Sie einen Blick auf, was head() zurückkehrt. Ich wette, da ist eine Kopfzeile drin.