Python でデータフレームをマージする方法を学ぶ

Python でデータフレームをマージする方法を学ぶ

Python を使用している場合は、最も単純なタスクであっても、サードパーティ ライブラリの重要性を認識しているでしょう。 DataFrames の優れたサポートを備えた Pandas ライブラリは、そのようなライブラリの 1 つです。





複数のタイプのファイルを Python DataFrame にインポートし、さまざまなバージョンを作成してさまざまなデータ セットを保存できます。 DataFrames を使用してデータをインポートしたら、それらをマージして詳細な分析を実行できます。





基本への取り組み

マージを開始する前に、マージする DataFrame が必要です。開発目的で、実験用のダミー データを作成できます。





Python でデータフレームを作成する

最初のステップとして、Pandas ライブラリを Python ファイルにインポートします。 Pandas は、Python で DataFrame を処理するサードパーティ ライブラリです。を使用できます。 輸入 ライブラリを使用するためのステートメントは次のとおりです。

import pandas as pd

ライブラリ名にエイリアスを割り当てて、コード参照を短くすることができます。



DataFrame に変換できる辞書を作成する必要があります。最良の結果を得るには、2 つのディクショナリ変数を作成します。 dict1 dict2— 特定の情報を保存するには:

サウンドスキームウィンドウズ10をインストールする方法
dict1 = {"user_id": ["001", "002", "003", "004", "005"], 
"FName": ["John", "Brad", "Ron", "Roald", "Chris"],
"LName": ["Harley", "Cohen", "Dahl", "Harrington", "Kerr-Hislop"]}

dict2 = {"user_id": ["001", "002", "003", "004"], "Age": [15, 28, 34, 24]}

後でデータフレームを結合するための主キーとして機能するには、両方のディクショナリ値に共通の要素が必要であることに注意してください。





辞書をデータフレームに変換する

辞書の値を DataFrame に変換するには、次のメソッドを使用できます。

df1 = pd.DataFrame(dict1) 
df2 = pd.DataFrame(dict2)

一部の IDE では、DataFrame 関数を参照して押すことで、DataFrame 内の値を確認できます。 実行/実行 .沢山あります Python 互換 IDE 、あなたにとって最も学びやすいものを選んで選ぶことができます。





  Jupyter Notebook のコード スニペット

DataFrame の内容に満足したら、マージのステップに進むことができます。

マージ機能でフレームを結合する

マージ関数は、2 つの DataFrame を結合するために使用できる最初の Python 関数です。この関数は、次のデフォルト引数を取ります。

pd.merge(DataFrame1, DataFrame2, how= type of merge)

どこ:

  • pd Pandas ライブラリのエイリアスです。
  • マージ DataFrame をマージする関数です。
  • データフレーム1 データフレーム2 マージする 2 つの DataFrame です。
  • どうやって マージ タイプを定義します。

複雑なデータ構造がある場合に使用できる、いくつかの追加のオプションの引数を使用できます。

how パラメータに異なる値を使用して、実行するマージのタイプを定義できます。これらのタイプのマージは、 SQL を使用してデータベース テーブルを結合しました .

左マージ

左マージ タイプは、最初の DataFrame の値をそのまま保持し、2 番目の DataFrame から一致する値を取得します。

iPhoneのIMEI番号とは
  Jupyter Notebook のコード スニペット

右マージ

適切なマージ タイプは、2 番目の DataFrame の値をそのまま保持し、最初の DataFrame から一致する値を取得します。

  Jupyter Notebook のコード スニペット

内部マージ

内部マージ タイプは、両方の DataFrame から一致する値を保持し、一致しない値を削除します。

  Jupyter Notebook のコード スニペット

外部マージ

外部マージ タイプは、一致する値と一致しない値をすべて保持し、DataFrame をまとめて統合します。

  Jupyter Notebook のコード スニペット

Concat 関数の使用方法

連結 function は、Python の他のいくつかのマージ関数と比較して柔軟なオプションです。 concat 関数を使用すると、DataFrame を垂直および水平に結合できます。

ただし、この関数を使用することの欠点は、デフォルトで一致しない値を破棄することです。他の関連する関数と同様に、この関数にはいくつかの引数がありますが、連結を成功させるために不可欠なのはそのうちのいくつかだけです。

concat(dataframes, axis=0, join='outer'/inner)

どこ:

  • 連結 DataFrame を結合する関数です。
  • データフレーム 連結する一連の DataFrame です。
  • 連結の方向を表し、0 は水平、1 は垂直です。
  • 加入 外部結合または内部結合のいずれかを指定します。

上記の 2 つの DataFrame を使用して、次のように concat 関数を試すことができます。

# define the dataframes in a list format 
df_merged_concat = pd.concat([df1, df2])

# print the results of the Concat function
print(df_merged_concat)

上記のコードに軸と結合の引数がないため、2 つのデータセットが結合されます。結果の出力には、一致ステータスに関係なく、すべてのエントリが含まれます。

同様に、追加の引数を使用して、concat 関数の方向と出力を制御できます。

一致するすべてのエントリで出力を制御するには:

# Concatenating all matching values between the two dataframes based on their columns 
df_merged_concat = pd.concat([df1, df2], axis=1, join = 'inner')

print(df_merged_concat)

結果には、2 つの DataFrame の間で一致するすべての値のみが含まれます。

  Jupyter Notebook のコード スニペット

Python で DataFrame をマージする

DataFrame は、その柔軟性と機能性を考慮すると、Python の不可欠な部分です。それらの多面的な用途を考えると、それらを広範囲に使用して、さまざまなタスクを非常に簡単に実行できます。

ps3ゲームはps4で動作しますか

Python DataFrame についてまだ学習中の場合は、いくつかの Excel ファイルをインポートしてから、それらをさまざまなアプローチと組み合わせてみてください。