1

データフレームを別のデータフレームで更新したいのですが、複数の「宛先」があります。ここに例があります

df1 = pd.DataFrame({'name':['A', 'B', 'C', 'A'], 'category':['X', 'X', 'Y', 'Y'], 'value1':[None, 1, None, None], 'value2':[None, 10, None, None]})

  name category  value1  value2
0    A        X     NaN     NaN
1    B        X     1.0    10.0
2    C        Y     NaN     NaN
3    A        Y     NaN     NaN


df2 = pd.DataFrame({'name':['A', 'C'], 'value1':[2, 3], 'value2':[11, 12]})

  name  value1  value2
0    A       2      11
1    C       3      12

そして、望ましい結果は

  name category  value1  value2
0    A        X     2.0    11.0
1    B        X     1.0    10.0
2    C        Y     3.0    12.0
3    A        Y     2.0    11.0

最初の DataFrame に「A」が 2 回あるため、pd.update は機能しないと思います。

pd.merge は他の列を作成します。おそらく、作成後にこれらの列を手動でマージするよりもエレガントな方法があると思います

よろしくお願いします。

4

1 に答える 1