2016-08-14 5 views
0

したがって、datestr()は数値を日付に変換することになっています。しかし、私はこの名前のエラーメッセージが表示され続けます。正しいモジュールをロードしていません。私はMatplotlibのドキュメントを検索しましたが、インポートする必要のある特定のモジュールは表示されません。エラーメッセージ名「datestr」が定義されていないのはなぜですか? Python 2.7

import matplotlib.pyplot as plt 
    from matplotlib.dates import DateFormatter, WeekdayLocator,\ 
     DayLocator, MONDAY 
    from matplotlib.finance import quotes_historical_yahoo_ohlc, candlestick_ohlc 
    import pandas as pd 
    import datetime 
    import pandas.io.data as web 
    from datetime import date 
    import matplotlib 

    date = 731613 

    print datestr(date) 
    #NameError: name 'datestr' is not defined 
+0

あなたは、これは組み込みのPython関数だと思いますか? matlabのように私に聞こえる。 Pythonでは、[ここ](https://docs.python.org/2/library/datetime.html)やpandas/numpy/matplotlibのラッパーを使用します。 – sascha

+0

http://www.mathworks.com/help/matlab/ref/datestr.htmlで使用されているすべての例では、特定のモジュールをどこにインポートするかわかりません。私は既に使用する予定のものをいくつかインポートしました。 –

+0

なぜPythonを使用しているときにmatlabのドキュメントを参照していますか?これらは2つの異なる言語/環境であることはご存じですか? – sascha

答えて

0

はい私は正しい機能を使用していませんでした。私はこの問題についての調査を行い、私は正しい形式の上で試した解決策に遭遇した。

from datetime import date 
dte = 731613 
print date.fromordinal(dte) 
#out put is >> 2004-02-02 
#   (Year, Month, day) 
1

機能が欲しいようです。mathplotlib.dates.num2date()そこからstr()またはstrftime()で文字列に変換することができます:

>>> from matplotlib.dates import num2date 
>>> num2date(731613) 
datetime.datetime(2004, 2, 2, 0, 0, tzinfo=<matplotlib.dates._UTC object at 0x7f64861fa5d0>) 
>>> print(num2date(731613)) 
2004-02-02 00:00:00+00:00 
>>> str(num2date(731613)) 
'2004-02-02 00:00:00+00:00' 
関連する問題