1

データフレームのヘッダーを注文するにはどうすればよいですか。

from pandas import *
import pandas
import numpy as np
df2 = DataFrame({'ISO':['DE','CH','AT','FR','US'],'Country': 
['Germany','Switzerland','Austria','France','United States']})
print df2

デフォルトで得られる結果は次のとおりです。

         Country ISO
0        Germany  DE
1    Switzerland  CH
2        Austria  AT
3         France  FR
4  United States  US

しかし、データフレームでISOを作成した順序だったので、ISOは国の前になると思いました。アルファベット順にソートされているように見えますか?

この単純なテーブルをメモリ内に設定して、後でリレーショナル クエリで好みの列順序で使用するにはどうすればよいでしょうか。データフレームを参照するたびに、列を並べ替える必要はありません。

初めてのコーディング投稿です。

4

2 に答える 2

0

a Pythondictは順不同です。キーは、宣言または追加した順序では格納されません。dictas 引数に与えるには、DataFrameDataFrame が当然と見なす任意の順序があります。

この問題を回避するには、いくつかのオプションがあります。

  1. 入力として辞書が本当に必要な場合OrderedDictは、代わりにオブジェクトを使用します。dict

    df2 = DataFrame(OrderedDict([('ISO',['DE','CH','AT','FR','US']),('Country',['Germany','Switzerland','Austria','France','United States'])]))

  2. そもそも辞書に依存していない場合はDataFrame、列を宣言する引数を使用して を呼び出します。

    df2 = DataFrame({'ISO':['DE','CH','AT','FR','US'],'Country': ['Germany','Switzerland','Austria','France','United States']}, columns=['ISO', 'Country'])

于 2013-05-27T12:11:51.693 に答える