[英]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.