Python Pandasデータフレームを共通の列とマージし、一致しない値にNaNを設定します
2つのPandasDataFrameを共通の列とマージするには、 merge()を使用します 機能し、オンを設定します 列名としてのパラメーター。一致しない値にNaNを設定するには、「方法」を使用します 」パラメータを設定し、左に設定します または正しい 。つまり、左または右にマージします。
まず、エイリアスを使用してpandasライブラリをインポートしましょう-
import pandas as pd
DataFrame1を作成しましょう-
dataFrame1 = pd.DataFrame( { "Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'], "Units": [100, 150, 110, 80, 110, 90] } )
DataFrame2を作成しましょう-
dataFrame2 = pd.DataFrame( { "Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'], "Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000] } )
次に、DataFrameを共通の列Carとマージします。左側の""は左側のDataFrameのすべての値を表示し、2番目のDataFrameからの一致しない値にNaNを設定します-
mergedRes = pd.merge(dataFrame1, dataFrame2, on ='Car', how ="left")
例
以下はコードです-
import pandas as pd # Create DataFrame1 dataFrame1 = pd.DataFrame( { "Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'], "Units": [100, 150, 110, 80, 110, 90] } ) print"DataFrame1 ...\n",dataFrame1 # Create DataFrame2 dataFrame2 = pd.DataFrame( { "Car": ['BMW', 'Lexus', 'Tesla', 'Mustang', 'Mercedes', 'Jaguar'], "Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000] } ) print"\nDataFrame2 ...\n",dataFrame2 # merge DataFrames with common column Car and "left" sets NaN for unmatched values from second DataFrame mergedRes = pd.merge(dataFrame1, dataFrame2, on ='Car', how ="left") print"\nMerged data frame with common column...\n", mergedRes
出力
以下はコードです-
DataFrame1 ... Car Units 0 BMW 100 1 Lexus 150 2 Audi 110 3 Mustang 80 4 Bentley 110 5 Jaguar 90 DataFrame2 ... Car Reg_Price 0 BMW 7000 1 Lexus 1500 2 Tesla 5000 3 Mustang 8000 4 Mercedes 9000 5 Jaguar 6000 Merged data frame with common column... Car Units Reg_Price 0 BMW 100 7000.0 1 Lexus 150 1500.0 2 Audi 110 NaN 3 Mustang 80 8000.0 4 Bentley 110 NaN 5 Jaguar 90 6000.0
-
Python Pandas –DataFrameを1対1の関係でマージ
Pandas DataFrameをマージするには、マージを使用します () 働き。 1対1の関係 「検証」の下で設定することにより、両方のデータフレームに実装されます ” merge()関数のパラメータ、つまり- validate = “one-to-one” or validate = “1:1” 1対多の関係は、マージキーが左右のデータセットの両方で一意であるかどうかをチェックします。 まず、1番目の stを作成しましょう DataFrame- dataFrame1 = pd.DataFrame( {  
-
PythonPandas-DataFrame内のすべてのNaN要素を0に置き換えます
NaN値を置き換えるには、fillna()メソッドを使用します。以下が、いくつかのNaN値を使用してMicrosoftExcelで開いたCSVファイルであるとしましょう- まず、必要なライブラリをインポートします- import pandas as pd CSVファイルからPandasDataFrameにデータをロードする- dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesData.csv") fillna()メソッドを使用してNaN値を0に置き換えます- dataFrame.fillna(0)