我有一个看起来像[[1,1,0,1,NaN],[NaN,2,3,4,5],[1,1,1,1,1]]的数组。我必须对这些数组进行一些优化计算,但是由于这些NaN的存在,我的解决方案也包含NaN。我尝试遍历数组并将NaN设置为0,但这没有用。
'''对于s中的i: 对于i中的j: 如果type(j)!= int: j = 0 '''
我知道数组是不可变的。我想知道是否还有其他方法可以做到这一点?
答案 0 :(得分:0)
如此简单:
a=np.array([[1,1,0,1, np.nan], [np.nan, 2, 3,4,5], [1,1,1,1,1]])
np.nan_to_num(a)
输出:
array([[1., 1., 0., 1., 0.],
[0., 2., 3., 4., 5.],
[1., 1., 1., 1., 1.]])
答案 1 :(得分:0)
您可以使用nan_to_num
或者您可以将其设为数据框并使用熊猫fillna()
0 1 2 3 4
0 1.0 1 0 1 NaN
1 NaN 2 3 4 5.0
2 1.0 1 1 1 1.0
您可以df.fillna(0)
0 1 2 3 4
0 1.0 1 0 1 0.0
1 0.0 2 3 4 5.0
2 1.0 1 1 1 1.0
答案 2 :(得分:0)
又快又脏,但应该可以工作:
var str1 = "Categ=All&Search=Jucs&Kin=LUU";
function splitter(str, index){
return str.split(/[^A-Za-z0-9]/).filter((v,i)=>i%2=== index);
}
console.log(splitter(str1, 0)) //["Categ", "Search", "Kin"]
console.log(splitter(str1, 1))//["All", "Jucs", "LUU"]
希望这会有所帮助!