2016-06-01 10 views
2

Ich habe Interesse an großen Datas geben, und ich zufällig vor kurzem auf diesem IPython Notebook: https://github.com/lmart999/GIS/blob/master/SF_GIS_Crime.ipynbIch versuche, ein IPython Notebook zu laufen, es sei denn es mir eine „AsType timedelta64“ Fehler

Und es sofort heruntergeladen und versucht, es auszuführen. Das erste Dutzend oder so Zellen lief normal, sogar die Matplotlib-Diagramme.

bis ich auf diese Zeilen:

# Lets use real dates for plotting 
days_from_start=pd.Series(t_all.index*30).astype('timedelta64[D]') 
dates_for_plot=date.min()+days_from_start 
time_labels=dates_for_plot.map(lambda x: str(x.year)+'-'+str(x.month)) 

die eine sehr lange Fehlermeldung gab:

-------------------------------------------------------------------------- 
ValueError        Traceback (most recent call last) 
<ipython-input-27-4a793ff06024> in <module>() 
     1 # Lets use real dates for plotting 
----> 2 days_from_start=pd.Series(t_all.index*30).astype('timedelta64[D]') 
     3 dates_for_plot=date.min()+days_from_start 
     4 time_labels=dates_for_plot.map(lambda x: str(x.year)+'-'+str(x.month)) 

[--- 50 Zeilen von Fehlermeldungen ---]

lib.pyx in pandas.lib.astype_intsafe (pandas/lib.c:12697)() 

util.pxd in util.set_value_at (pandas/lib.c:49357)() 

ValueError: Could not convert object to NumPy timedelta 

Wenn Sie mich brauchen, um die gesamte Nachricht zu posten, werde ich, aber ich denke th Das Kernproblem kann etwas mit einem Konflikt zwischen den Versionen von Numpy und Pandas zu tun haben.

Kann jemand mit mehr Erfahrung mir zeigen, wie ich das ändern sollte? Ich betreibe Ubntu 14.04.

Antwort

1

Das Problem ist, dass Numpy nicht mehr die Erstellung von timedelta64 Objekten aus einem Float unterstützt (vermutlich war das möglich, als das Notebook veröffentlicht wurde).

Sie müssen den hochskalierten Index zuerst in Ganzzahlen umwandeln, bevor Sie ihn an timedelta64 übergeben.

days_from_start=pd.Series(t_all.index*30).astype('int').astype('timedelta64[D]') 
+0

Habe es, versuche das jetzt. – Rich

+0

Ja, das hat das Problem behoben. Danke vielmals. – Rich

Verwandte Themen