2016-11-22 6 views
1

開始時刻をintとしてキャストしようとしましたが、データフレームに追加してから散布図を描画します。Pandasでdatetimeをintに変換するときのValueError

test_df['Start'] = test_df['start'].astype(np.int64) 
icma_df.plot.scatter(x='Start', y='marks').convert_objects(convert_numeric=True) 

上記のコードでは、次のエラーが発生します。

ValueError: invalid literal for int() with base 10: '29 Jan 2016 06:56' 

答えて

2

'29 Jan 2016 06:56'は、pandas/numpy日時ではなく文字列です。 'start'pd.to_datetimeのdatetimeに変換してください。

+0

2番目の行の最後にあるコード.convert_objects(convert_numeric = True)は、これをオフにすることでどれくらい重要ですか?エラーが発生しない場合はエラーが発生します。次の1つAttributeError: 'AxesSubplot'オブジェクトに 'convert_objects'属性がありません – john

+0

convert_objectsは、DataFrameに適用され、plot.scatterによって返されるAxesSubplotには適用されません。あなたがインタプリタから受け取ったエラーメッセージを信頼してください。Pythonはそれをうまく利用しています。普通の方法で、このメソッドを持たないAxesSubplotオブジェクトに対してconvert_objectsを呼び出そうとしています。 – Boud

関連する問題