检查null并替换为0

时间:2016-09-08 08:57:10

标签: scala

我有以下语句,它使用client从Redis DB获取数据。对于某些条目,它返回null。如何查看null并将0替换为一行?是否有类似getOrElse的内容?或者我可以以某种方式使用Option[String]?我想避免使用if qty_str == null

val qty_str : String = Dress.up(client).hget("pk:"+ind,"qty")

1 个答案:

答案 0 :(得分:1)

kf = cross_validation.KFold(y_data.shape[0], \ n_folds=10, shuffle=True, random_state=30) err = [] # to hold cross val errors # xgb instance xgb_model = xgb.XGBClassifier(n_estimators=_params['n_estimators'], \ max_depth=params['max_depth'], learning_rate=_params['learning_rate'], \ min_child_weight=_params['min_child_weight'], \ subsample=_params['subsample'], \ colsample_bytree=_params['colsample_bytree'], \ objective='multi:softmax', nthread=4) # cv for train_index, test_index in kf: xgb_model.fit(x_data[train_index], y_data[train_index], eval_metric='mlogloss') predictions = xgb_model.predict(x_data[test_index]) actuals = y_data[test_index] err.append(metrics.accuracy_score(actuals, predictions)) 函数将Option变为T,该Option[T]可能为null。完成后,您可以使用mapOption[String]变为Option[Int],然后使用getOrElseNone替换为默认值。

val qty_not_null : Option[String] = Option(qty_str)
val qty_int : Int = qty_not_null.map(_.toInt).getOrElse(0)