2 つの pandas dataframe を追加する方法 (例あり)


次の基本構文を使用して、値を 2 つのパンダ データフレームに追加できます。

 df3 = df1. add (df2, fill_value= 0 )

これにより、個々の DataFrame 内の一致する要素の合計を含む新しい DataFrame が生成されます。

要素が一方のデータフレームに存在し、もう一方のデータフレームには存在しない場合、既存の要素が結果のデータフレームで使用されます。

次の例は、この構文を実際に使用する方法を示しています。

例: 2 つの Pandas DataFrame を追加する方法

次の 2 つのパンダ DataFrame があると仮定します。

 import pandas as pd

#create first DataFrame
df1 = pd. DataFrame ({' points ': [18, 22, 19, 14, 11],
                    ' assists ': [5, 11, 7, 9, 12]})

#view first DataFrame
print (df1)

   assist points
0 18 5
1 22 11
2 19 7
3 14 9
4 11 12

#create second DataFrame
df2 = pd. DataFrame ({' points ': [10, 5, 4, 3, 9, 14],
                    ' assists ': [9, 7, 4, 2, 3, 3]})

#view second DataFrame
print (df2)

   assist points
0 10 9
1 5 7
2 4 4
3 3 2
4 9 3
5 14 3

次の構文を使用して、個々の DataFrame 内の一致する要素の合計を取得する新しい DataFrame を作成できます。

 #create new DataFrame by adding two DataFrames
df3 = df1. add (df2, fill_value= 0 )

#view new DataFrame
print (df3)

   assist points
0 28.0 14.0
1 27.0 18.0
2 23.0 11.0
3 17.0 11.0
4 20.0 15.0
5 14.0 3.0

結果の DataFrame には、個々の DataFrame 内の一致する要素の合計が含まれることに注意してください。

インデックス値 5 の行は 2 番目の DataFrame にのみ存在するため、この行の値は単に 2 番目の DataFrame の値であることに注意してください。

また、加算を行ったため、新しい DataFrame の各値は小数点以下 1 桁の float 値として表されることにも注意してください。

これらの各値を整数に変換するには、 astype()関数を使用します。

 #convert all columns in new DataFrame to integer
df3 = df3. astype (' int64 ')

#view updated DataFrame
print (df3)

   assist points
0 28 14
1 27 18
2 23 11
3 17 11
4 20 15
5 14 3

新しい DataFrame の各値は整数になりました。

追加リソース

次のチュートリアルでは、他の一般的なパンダのタスクを実行する方法について説明します。

パンダ: あるデータフレームから別のデータフレームに列を追加します。
パンダ: 別の DataFrame にない行を取得する
パンダ: 複数の列が等しいかどうかを確認する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です