2015-12-10 85 views
1

df是這樣替換熊貓數據幀中的每一列,與陣列的每個值

 A B C 
0 NaN 150 -150 
1 100 NaN 150 
2 -100 -150 NaN 
3 -100 -150 NaN 
4 NaN 150 150 
5 100 NaN -150 

另一個陣列是陣列([1,2,3])

我想要替換的非空與在陣列中的每個值,其結果將是每個列的值,

 A  B  C 
0 NaN 2  3 
1 1  NaN 3 
2 1  2  NaN 
3 1  2  NaN 
4 NaN 2  3 
5 1  NaN 3 

我怎樣才能在一個簡單的方式實現這一目標?我寫了類似的東西,

df[df.notnull()] = np.array([1,2,3]) 
df[df.notnull()].loc[:,] = np.array([1,2,3]) 

但都不能工作。

回答

1

如何:

>>> (df * 0 + 1) * arr 
    A B C 
0 NaN 2 3 
1 1 NaN 3 
2 1 2 NaN 
3 1 2 NaN 
4 NaN 2 3 
5 1 NaN 3 
+0

非常感謝!它真的解決了我的問題! –