logo

パンダの連結

Pandas は、インデックスとリレーショナル代数機能のさまざまな種類のセット ロジックを通じて、Series、DataFrame、Panel オブジェクトを組み合わせることができます。

concat() 関数は、DataFrame の軸に沿って連結操作を実行する役割を果たします。

構文:

 pd.concat(objs,axis=0,join='outer',join_axes=None, ignore_index=False) 

パラメーター:

    オブジェクト:これは、シリーズまたは DataFrame オブジェクトのシーケンスまたはマッピングです。
    DataFrame で dict を渡すと、ソートされたキーが その場合、値が選択されます。非オブジェクトが存在する場合、それらがすべて存在しない場合を除き、そのオブジェクトは削除されます。この場合、 値エラー 上げられます。軸:連結する軸です。参加する:別の軸のインデックスの処理を担当します。結合軸:インデックスオブジェクトのリスト。内部または外部のセット ロジックを実行する代わりに、特定のインデックスが他の (n-1) 軸に使用されます。無視_インデックス:ブール値、デフォルト値 False
    true の場合、連結軸のインデックス値は使用されません。結果の軸には、0、...、n - 1 というラベルが付けられます。

戻り値

すべてのシリーズを軸 (axis=0) に沿って連結すると、シリーズが返されます。場合に備えて オブジェクト 少なくとも 1 つの DataFrame が含まれている場合は、DataFrame を返します。

例1:

 import pandas as pd a_data = pd.Series(['p', 'q']) b_data = pd.Series(['r', 's']) pd.concat([a_data, b_data]) 

出力

 0 p 1 q 0 r 1 s dtype: object 

例2: 上記の例では、次のコマンドを使用して既存のインデックスをリセットできます。 無視するインデックス パラメータ。以下のコードは、次の動作を示しています。 無視するインデックス

 import pandas as pd a_data = pd.Series(['p', 'q']) b_data = pd.Series(['r', 's']) pd.concat([a_data, b_data], ignore_index=True) 

出力

 0 p 1 q 2 r 3 s dtype: object 

例 3: 次のコマンドを使用して、データの最外部レベルに階層インデックスを追加できます。 キー パラメータ。

 import pandas as pd a_data = pd.Series(['p', 'q']) b_data = pd.Series(['r', 's']) pd.concat([a_data, b_data], keys=['a_data', 'b_data']) 

出力

 a_data 0 p 1 q b_data 0 r 1 s dtype: object 

例 4: を使用してインデックス キーにラベルを付けることができます。 名前 パラメータ。以下のコードは、names パラメータの動作を示しています。

 import pandas as pd a_data = pd.Series(['p', 'q']) b_data = pd.Series(['r', 's']) pd.concat([a_data, b_data], keys=['a_data', 'b_data']) pd.concat([a_data, b_data], keys=['a_data', 'b_data'], names=['Series name', 'Row ID']) 

出力

 Series name Row ID a_data 0 p 1 q b_data 0 r 1 s dtype: object 

appendを使用した連結

append メソッドは、Series と DataFrame を連結するための便利なショートカットとして定義されています。

例:

 import pandas as pd one = pd.DataFrame({ 'Name': ['Parker', 'Smith', 'Allen', 'John', 'Parker'], 'subject_id':['sub1','sub2','sub4','sub6','sub5'], 'Marks_scored':[98,90,87,69,78]}, index=[1,2,3,4,5]) two = pd.DataFrame({ 'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'subject_id':['sub2','sub4','sub3','sub6','sub5'], 'Marks_scored':[89,80,79,97,88]}, index=[1,2,3,4,5]) print (one.append(two)) 

出力

 Name subject_id Marks_scored 1 Parker sub1 98 2 Smith sub2 90 3 Allen sub4 87 4 John sub6 69 5 Parker sub5 78 1 Billy sub2 89 2 Brian sub4 80 3 Bran sub3 79 4 Bryce sub6 97 5 Betty sub5 88