我想應用一個像fillna()
那樣行爲但功能與nan不同的函數。不幸的是DataFrame.replace()
不適用於我的情況。這裏有一個例子:給定一個數據幀:尋找一個類似於DataFrame.nafill()的熊貓函數
df = pd.DataFrame([[1,2,3],[4,-1,-1],[5,6,-1]])
0 1 2
0 1 2.0 3.0
1 4 -1.0 -1.0
2 5 6.0 -1.0
3 7 8.0 NaN
我找這將輸出功能:
0 1 2
0 1 2.0 3.0
1 4 2.0 3.0
2 5 6.0 3.0
3 7 8.0 NaN
所以df.replace()
與to_replace=-1
和'method='ffill'
不會起作用,因爲它需要一個列獨立value
這將取代-1條目。在我的例子中,它是依賴於列的。我知道我可以用循環對其進行編碼,但是我正在尋找一個高效的代碼,因爲它將應用於大型數據框。有什麼建議麼?謝謝。
你舉的例子好像如果你通過楠取代-1它會工作然後填寫。你能舉一個例子嗎? – DSM
是的,萬一在DataFrame中有-1和nan的混合。我將爲這種情況添加一個編輯 – splinter
新增了@DSM,請參閱已編輯的問題。 – splinter