データフレームのゼロ値を各行の最後の列にある値に変更したいとします。私は列や行のforを使ってこれを解決することができますが、それはあまりにも私にpythonicのように見えませんでした。要するに条件付きでデータフレーム内の別の列の値を割り当てます
、私はこのようなデータフレームがありますので、私は取得したい
col1 col2 col3 nonzero
1 2 0 10
1 0 3 20
を、私は
df[df==0] = df.nonzero
のような操作を行うにはしたいと思い
col1 col2 col3 nonzero
1 2 10 10
1 20 3 20
ただし、[df == 0]はTrue/False値を持つDataFrame自体であるため、これは機能しません。これはどうすればできますか?
DF == 0.mulソリューションがうまく働いたが、適用法が私に与えましたエラー 'オブジェクト型クラスの名前の軸がありません –
'axis'パラメータを正しく配置しなかった可能性があります。' df'が 'where'の代わりに' apply'メソッドのパラメータであることに気づくでしょう。データフレーム、シリーズオブジェクトではありません。 – Psidom
確かに。非常にクールなソリューション –