Python 3.x 移除方差为零的变量

Python 3.x 移除方差为零的变量,python-3.x,machine-learning,data-science,variance,Python 3.x,Machine Learning,Data Science,Variance,有人能帮我编写代码,用python删除数据帧中方差为零的变量吗?删除方差较低的特性 X = [[0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1, 1], [0, 1, 0], [0, 1, 1]] 这里有3个布尔特征,每个特征有6个实例。假设我们希望删除至少80%的实例中的常量。一些概率计算表明,这些特征的方差必须小于0.8*(1-0.8)。因此,我们可以使用 输出将是: 欢迎来到SO,它是关于特定的编码问题,而不是教程或代码编写服务。请浏览帮助系统,了解您可以在此

有人能帮我编写代码,用python删除数据帧中方差为零的变量吗?

删除方差较低的特性

X = [[0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1, 1], [0, 1, 0], [0, 1, 1]]
这里有3个布尔特征,每个特征有6个实例。假设我们希望删除至少80%的实例中的常量。一些概率计算表明,这些特征的方差必须小于0.8*(1-0.8)。因此,我们可以使用

输出将是:


欢迎来到SO,它是关于特定的编码问题,而不是教程或代码编写服务。请浏览帮助系统,了解您可以在此处询问的方式和主题;我们非常乐意帮助您解决代码问题,但我们无法为您编写代码。方差为零表示该变量未更改其值。所以,根据您的上下文,我可以简单地找到该变量有多少唯一的元素。
from sklearn.feature_selection import VarianceThreshold
sel = VarianceThreshold(threshold=(.8 * (1 - .8)))    
sel.fit_transform(X)
      array([[0, 1],
             [1, 0],
             [0, 0],
             [1, 1],
             [1, 0],
             [1, 1]])