いくつかNaN
のs を持つDataFrameがあるとします。
>>> import pandas as pd
>>> df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]])
>>> df
0 1 2
0 1 2 3
1 4 NaN NaN
2 NaN NaN 9
私がする必要があるのは、すべてNaN
をそのNaN
上の同じ列の最初の非値で置き換えることです。最初の行にはが含まれないことが想定されていNaN
ます。したがって、前の例の結果は次のようになります
0 1 2
0 1 2 3
1 4 2 3
2 4 2 9
DataFrame全体を列ごと、要素ごとにループして値を直接設定するだけですが、これを実現する簡単な(最適にはループのない)方法はありますか?