2017-06-12 12 views
1

は次のようなクエリセット注文は維持されません。すぐに変換した後、私は列の新しい順番を指定する必要があり、なぜ私は明確ではないよ:パンダDATAFRAMEにDjangoのクエリセットを変換し、維持するカラムの順番

df = df.columns['B', 'F', 'C', 'E', 'D', 'A'] 

はなぜこれが起こっていると私は明示的にデータフレームの列を設定することを避けるために、異なる何ができるのでしょうか?

答えて

1

qs.values()は、順序付けられていないディクショナリにQuerySetを変換します(この場合も、順序問題はここで再度発生する可能性がありますが、列を並べ替えて簡単に解決できます)。あなたはタプルのリストを返しますqs.values_list()、とOKです。

試してみてください。

df = pd.DataFrame.from_records(
    A.objects.all().values_list('A', 'B', 'C', 'D', 'E', 'F') 
) 

チェックDjangoのクエリセット

docs
1

試してみてください。

df = pd.DataFrame.from_records("DATA_GOES_HERE", columns=['A','B','C'.. etc.) 

私はcolumns=パラメータfound hereを使用しています。

私はあなたにもちょうどpd.DataFrameを使用してデータフレームを構築し、対応する列名とそこにあなたのリストを置くことができると信じています。これはもっと手作業であるかもしれませんが、自動化されたジョブの場合はうまくいくかもしれません。

関連する問題