パンダから辞書へ

Pandakara Ci Shuhe



「Python では、ディクショナリと呼ばれるデータ構造を使用して、キーと値のペアとして情報を格納します。ディクショナリ オブジェクトは、キーがわかっている場合にデータ/値を抽出するように最適化されています。辞書には重複キーが含まれる場合があることに注意してください。関連インデックスを使用して効率的に値を見つけるには、関連インデックスを持つ pandas シリーズまたはデータフレームを、「インデックス: 値」キーと値のペアを持つ辞書オブジェクトに変換できます。このタスクを達成するには、「to_dict()」メソッドを使用できます。この関数は、pandas モジュールの Series クラスにある組み込み関数です。データフレームは、orient パラメーターの指定値に応じて、pandas.to_dict() メソッドを使用して、一連の Python リストのようなデータ ディクショナリに変換されます。

Pandas を Python 辞書に変換する方法は?

パンダを辞書に変換する方法は複数あります。ただし、Pandas データフレームを Python 辞書に変換するには、Pandas で to_dict() メソッドを使用します。 to_dict() 関数を使用して、返された辞書のキーと値のペアをさまざまな方法で方向付けることができます。関数の構文は次のとおりです。







構文



pandas.to_dict ( 東=「ディクテーション」、 の中へ = )



パラメーター

オリエント: 列 (シリーズ) を変換するデータ型は、文字列値 ('dict'、'list'、'records'、'index'、'series'、'split') によって指定されます。たとえば、キーワード「リスト」は、キー「列名」と「リスト」(変換されたシリーズ) を持つリスト オブジェクトの Python 辞書を出力として提供します。





の中へ: クラスとして、インスタンスまたは実際のクラスとして渡すことができます。たとえば、デフォルトの dict の場合、クラス インスタンスを渡すことができます。パラメータのデフォルト値は dict です。

戻り値のタイプ: データフレームまたはシリーズから変換された辞書。



例 # 01: Pandas データフレームを辞書に変換する

pd.DataFrame() 関数でリストのタプルを使用して、いくつかの列と行を含む基本的なデータフレームを作成し、後でそれを Python 辞書に変換できるようにします。


pd.DataFrame() 関数内でリストを渡すことにより、データフレームを作成しました。上記のデータフレームには、「会社」、「売上」、「収益」の 3 つの列があります。会社の列には、ランダムな会社の名前を (「A&B」、「Max_tech」、「XT」、「MJ」、「Quanto」、「Mini_X」、「Zomo」、「AU」、「HL」) として保存しました。 、「ZMX」、「アーニー」)、「売上」の列は、各社の売上を(「217」、「200」、「199」、「150」、「210」、「216」、「185」として表しています。 」、「189」、「202」、「159」、「205」)、「収益」列には、それぞれの売上に対する各企業の収益を表す値が格納されています(340000 320000 300000 270000 315000 335000 250000 255000 3012400 0 305000)。次に、データフレーム「df」を Python 辞書に変換します。


to_dict() メソッドを df データフレームに適用することで、pandas データフレームを辞書に変換しました。

例 # 02: CSV ファイルから作成された Pandas データフレームを辞書に変換する

例 1 では、リスト内のタプルを使用してデータフレームを作成しました。次に、CSV ファイルを使用してデータフレームを作成し、to_dict() 関数を使用して辞書に変換します。


ファイルをデータフレームとして読み取るために、 pd.read_csv() 関数を使用しました。上記のデータフレームには、2 つの列 (名前とマーク) と 17 行 (0 から 16) があります。次に to_dict() メソッドを使用します。


この関数は、データフレーム「df」を Python 辞書に変換しました。

例 # 03: Pandas データフレームを、値のリストを含むディクショナリに変換する

前の例では、パンダを複数の辞書を含む Python 辞書に変換しました。データフレームをディクショナリ オブジェクトに変換する場合、列ラベルがディクショナリのキーとして機能し、すべての列のデータまたは値が各キーの値リストとして結果のディクショナリに追加される必要があります。


「name」、「country」、「age」の 3 つの列を持つデータフレームを作成しました。 「name」列には、データ値 (「Anna」、「Marty」、「Carl」、「Mary」、「Cleb」、「Ali」、「Alexa」、「Becky」、「Ryan」) が格納されています。 .他の列の国と年齢は、(「USA」、「England」、「USA」、「France」、「Russia」、「Russia」、「France」、「England」、「USA」) および ( 34、32、30、27、31、33、35、25、30) それぞれ。 to_dict() メソッド内の「list」パラメーターを使用して、リストを含む辞書を作成します。


list パラメーターを to_list() 関数内の引数として使用することにより、複数のリストを含む辞書を生成しました。

例 # 03: Pandas データフレームを一連の値を含むディクショナリに変換する

DataFrame をディクショナリに変換する必要がある場合、列名がディクショナリ キーとして機能し、列の行インデックスとデータがディクショナリ内の対応するキーの値として機能します。


pd.DataFrame() メソッドを使用して必要なデータフレームを作成しました。最近作成されたデータフレームには、2 つの列があります。 name 列にはデータ値が文字列 (「Kim」、「Morris」、「Casper」、「Milli」、「Dave」、「Will」、「Billy」) として格納されますが、marks 列は ( 8、9、6、7、10、7、8)。パラメータ「series」を to_dict() 関数内の文字列として使用します。

例 # 04: Pandas データフレームをインデックスとヘッダーなしのディクショナリに変換する

to_dict() 関数のパラメーター「split」は、列のヘッダーなしで DataFrame からデータを抽出する場合、またはデータからヘッダーと行インデックスを削除する必要がある場合に使用できます。列ラベル、行インデックス、および実際のデータは、このパラメーターを使用して 3 つのコンポーネントに分割されます。ディクショナリに変換しながら 3 つの部分に分割できるように、データフレームを作成しましょう。


値 (「Dave」、「Morris」、「Billy」、「Milli」、「Kim」、「Will」、「Casper」) および (19, 19 、25、21、19、21、23) それぞれ。それらをpython辞書に変換しましょう。


キー「データ」を使用すると、結果の辞書からインデックスやヘッダーなしでデータを取得できます。

例 # 05: Pandas データフレームを行と行インデックスでディクショナリに変換する

to_dict() 関数内でパラメーター「record」を使用して、各データフレーム行のデータをリスト内の複数の異なる辞書オブジェクトに格納するか、行単位のデータが必要な場合に使用できます。辞書オブジェクトを含むリストが返されます。列ラベルをキーとし、列データを各行の値とするディクショナリ。


列「name」と「salary」を持つデータフレームを作成しました。 「name」列にはデータ値 (「Leo」、「Haris」、「Wanda」、「Mike」、「Kelly」、「Adam」、「Jack」) が含まれ、salary 列には値 (12000、12500) が格納されます。 、14000、11000、12000、13000、12500)。次に、各行のデータを含む複数の Python 辞書を含むリストを作成しましょう。


index パラメータを使用して、各行のデータをデータフレームから辞書に変換することもできます。辞書項目を含むリストが返されます。各行は辞書を生成します。行インデックスがキーになり、値がデータと列ラベルのディクショナリになります。

結論

このチュートリアルでは、データフレームまたは pandas オブジェクトを Python 辞書に変換する方法について説明しました。 to_dict() 関数の構文を見て、この関数のパラメーターを理解し、さまざまなパラメーターで関数を指定して関数の出力を変更する方法を理解しました。このチュートリアルの例では、組み込みの pandas 関数である to_dict() メソッドを使用して、pandas オブジェクトを python 辞書に変更しました。