[英]Filter Numpy Array with optional argument
我正在构建一个 function 应该根据输入准备我的数据。 变量x_imp
包含对哪些特征很重要的索引。 但是有时我仍然需要所有功能,所以如果 'x_imp = None' 什么都不会发生。
我的解决方案是这样的(这不是整个 function 只是输入):
def get_train_data(x_cat, x_num,x_imp = None):
x_cat = x_cat[:,x_imp]
x_num = x_num[:,x_imp]
return x_train
但这会改变数据的形状。 例如,如果data.shape = (4, 5)
那么data[:,None].shape = (4, 1, 5)
我该如何避免这个问题?
发生这种情况是因为None
切片是np.newaxis
的别名。 是否有理由不只添加显式if
语句?
def get_train_data(x_cat, x_num,x_imp = None):
if x_imp is not None:
x_cat = x_cat[:,x_imp]
x_num = x_num[:,x_imp]
return x_train
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.