辞書からPandasデータフレームを作成する方法

辞書からPandasデータフレームを作成する方法

  • 人工知能(AI)
6分で読めます 更新日 Nov 26, 2020

ポイント: 辞書からPandasデータフレームを作成するのは簡単で、DataFrameコンストラクタやfrom_dict()などのメソッドを使用します。これらのアプローチにより、ユーザーは指定された列名とさまざまな向きでデータフレームを作成できます。

  • 辞書からデータフレームを作成するための2つの方法が詳述されています。
  • 適切なPythonとPandasのバージョンとの互換性が重要です。

Pandasがどれほど便利で強力であるかの別の例を示します。Pandasは、多くの種類のデータ構造からデータフレームを作成できます。これにより、長いコードを書くことなく、辞書からデータフレームを作成する方法をこのチュートリアルで2つのアプローチで示します。

Pandasのバージョンについて

始める前に、Pythonをアップグレードして少なくとも3.7にしてください。Python 3.4では、利用可能なPandasの最高バージョンは0.22であり、すべてのケースで辞書を作成する際に列名を指定することをサポートしていません。virtualenvを実行している場合は、新しいPython環境を作成し、次のようにPandasをインストールします。

    virtualenv py37  --python=python3.7
pip install pandas

Pandasのバージョンを確認できます:

    import pandas as pd
pd.__version__

PandasのDataFrameコンストラクタでデータフレームを作成する

ここでは、辞書からPandasデータフレームを構築します。Pandasコンストラクタを使用します。これは、さまざまなデータ構造を処理できるからです。以下の辞書には、sceneとfacadeの2つのキーがあります。各値には4つの要素の配列があり、2列4行のテーブルとして自然にフィットします。Pandasは行と列のデータで作業するように設計されています。各行には行インデックスがあります。デフォルトでは、0、1、2、3の数字です。名前を使用することもできます。したがって、配列idxで同じことを使用しましょう。

    import pandas as pd

dict =  {'scene': ["foul", "murder", "drunken", "intrigue"],

'facade': ["fair", "beaten", "fat", "elf"]}

idx = ['hamlet', 'lear', 'falstaff','puck']

dp = pd.DataFrame(dict,index=idx)

これが結果のデータフレームです:

辞書からPandasのfrom_dict()メソッドでデータフレームを作成する

PandasにはPandas.DataFrame.from_dict()メソッドもあります。それが繰り返しのように聞こえるかもしれませんが、通常のコンストラクタは辞書とともに機能するので、以下の例から、from_dict() メソッドが辞書に特有のパラメータをサポートしていることがわかります。コード内で、辞書のキーは列です。行インデックスは数字です。それがデフォルトの向きであり、orient='columns'は辞書のキーを列として取得し、値を行に配置することを意味します。

    pd.DataFrame.from_dict(dict)

今、私たちはそれを横にひっくり返します。 行を辞書のキーにします。

    pd.DataFrame.from_dict(dict,orient='index')

列には名前がなく、数字だけです。それはあまり役に立たないので、以下でcolumnsパラメータを使用します。これはPandas 0.23で導入されました。

列名を配列に入れて、それをcolumnsパラメータとして渡すのは簡単です。なぜ以前のバージョンのPandasにそれがなかったのか不思議です。

    pd.DataFrame.from_dict(dict,orient='index',columns=idx)

hamlet    lear falstaff      puck

scene    foul  murder  drunken  intrigue

facade   fair  beaten      fat       elf

これらの投稿は私自身の意見であり、必ずしもBMCの立場、戦略、または意見を表すものではありません。

人工知能(AI)の関連記事

BMCからのさらなる情報に興味がありますか?

ザ・ブリーフは、メインフレームとエンタープライズオーケストレーションに関する月刊メールです:研究、顧客ストーリー、製品ニュース、イベント。

このオファーに登録することで、あなたはBMCのプライバシーポリシーを読み、同意したことを確認します。

ザ・ブリーフに登録しました

ザ・ブリーフは、メインフレームとエンタープライズオーケストレーション—BMC AMIおよびControl-M—に関するアナリストの研究、顧客の展開、両者にわたるイベントを網羅しています。