2行のデータフレームがあり、2行を1行にマージしたいと思います。次のように DFはルックス:データフレームの2つの行をマージする方法パンダ
PC Rating CY Rating PY HT
0 DE101 NaN AA GV
0 DE101 AA+ NaN GV
私は2つの別々のデータフレームを作成し、成功せずdf.merge(DF2)でそれらを組み合わせることを試みています。結果は次のようになります
PC Rating CY Rating PY HT
0 DE101 AA+ AA GV
アイデアをお持ちですか?事前に感謝します df.updateは可能な解決策ですか?
EDIT:
df.head(1).combine_first(df.tail(1))
これは、上記の例のために動作します。しかしながら、数値を含む列の場合、このアプローチは所望の出力をもたらさない。
PC Rating CY Rating PY HT MV1 MV2
0 DE101 NaN AA GV 0 20
0 DE101 AA+ NaN GV 10 0
の出力は次のようになります。
PC Rating CY Rating PY HT MV1 MV2
0 DE101 AA+ AA GV 10 20
上記式は、最後の2列の値を合計するが、データフレームの最初の行の値をとるありません。
PC Rating CY Rating PY HT MV1 MV2
0 DE101 AA+ AA GV 0 20
どのようにこの問題を修正できますか?
感謝を
max
を使用することができ、これは上記の例のために動作します。ただし、数値の列がある場合は、行を正しく組み合わせることはできません。投稿の編集 – Carmen私の投稿を更新しました。データフレームに数値の存在を記述していないので、nullが見つかった場合は一番上の行を一番下の行に更新したいと思っていました。 –
ありがとう!別の方法は、最後の2つのカラムの0の値をNaNで置き換えて、あなたが提案した最初のforumlaを適用することです – Carmen