1

DataFrame私のエラーは、パンダ0.81にアップグレードした後のパンダの構築時の日時変換に関連しています。具体的には、タイムゾーン対応の日時でDjangoクエリセットを渡す.from_records()メソッドは、datetime64変換エラーをスローします。

type(data)
> django.db.models.query.QuerySet

dv = data.values('begin_time', 'datum')
dv[0]
> {'begin_time': datetime.datetime(2006, 4, 27, 12, 40, tzinfo=<UTC>),
   'datum': Decimal('13.3097500')}

df = pd.DataFrame.from_records( dv, index='begin_time' )
> ValueError: Tz-aware datetime.datetime cannot be converted to datetime64
  unless utc=True

Djangoの日時はタイムゾーンを認識しており、UTCに設定されているように見えます。そのため、エラーメッセージは少しわかりにくいと思いますが、おそらく失敗です。私はPythonを比較的よく知っています。

したがって、次のいずれかが必要だと思います。1.エラーが示すようにどこかでutc = trueを設定しますが、正確な場所がわかりません。2. .from_recordsでdatetime64への変換をオフにしますが、私もしません。どこを知っています。

ご協力いただきありがとうございます!

4

2 に答える 2

0

ここで問題を作成しました: http://github.com/pydata/pandas/issues/1825。私は最近このことに取り組んでいましたが、どうやらそれを壊したようです(現在git masterで動作しない限り)。

于 2012-08-30T00:02:38.547 に答える
0

タイムゾーンの解析で pandas 0.8.1 にバグが発生しています: https://github.com/pydata/pandas/issues/1693

機能強化としてマークされているため、理解していない可能性があり、回避策がある可能性がありますが、それは単なるバグであると確信しています. すでに修正済みですが、0.8.2 まで待つ必要があります。これは 0.8.0 で動作します (アップグレード後にのみ同じエラーに遭遇しました)。0.8.0 にフォールバックしてみることができます:

pip install -I pandas==0.8.0

0.8.0 が、アプリで pandas を使用している他のすべての要件を満たしている限り。

または、https://github.com/pydata/pandasから最新のものを取得してビルドしようとするかもしれませんが、安定性が低い可能性があります。

于 2012-08-15T21:26:42.120 に答える