我减少了数据集的维度(pandas DataFrame)。
X = df.as_matrix()
sel = VarianceThreshold(threshold=0.1)
X_r = sel.fit_transform(X)
然后我想要恢复缩减的DataFrame(即只保留ok列)
我发现只有这种丑陋的方式,效率很低,你有更清洁的想法吗?
cols_OK = sel.get_support() # which columns are OK?
c = list()
for i, col in enumerate(cols_OK):
if col:
c.append(df.columns[i])
return df[c]
答案 0 :(得分:1)
我认为你需要返回mask
:
cols_OK = sel.get_support()
df = df.loc[:, cols_OK]
如果返回索引:
cols_OK = sel.get_support()
df = df.iloc[:, cols_OK]