Python 在运行StandardScaler之前填充NaN值可以吗?

Python 在运行StandardScaler之前填充NaN值可以吗?,python,pandas,scikit-learn,sklearn-pandas,Python,Pandas,Scikit Learn,Sklearn Pandas,我有一个数据集,其中一些列包含NaN值。对于包含NaN的每一列,我也有相应的列,这些列有0或1个值来表示带有NaN的列是否是“活动的”,并且每当有NaN值时,它总是0(表示该列对于该行是“非活动的”)。scikit学习不会在包含NAN的数据集上运行;因为我有表示活动/非活动的列,所以可以使用该函数将所有NaN值更改为0吗?您能详细描述一下您的数据吗?您有多少个样本和功能?一个麻烦的想法可能是用相应列的平均值替换NaN,而不是用0填充@sera的评论,scikit learn有Imputer]()

我有一个数据集,其中一些列包含NaN值。对于包含NaN的每一列,我也有相应的列,这些列有0或1个值来表示带有NaN的列是否是“活动的”,并且每当有NaN值时,它总是0(表示该列对于该行是“非活动的”)。scikit学习不会在包含NAN的数据集上运行;因为我有表示活动/非活动的列,所以可以使用该函数将所有NaN值更改为0吗?

您能详细描述一下您的数据吗?您有多少个样本和功能?一个麻烦的想法可能是用相应列的平均值替换NaN,而不是用0填充@sera的评论,scikit learn有Imputer](),您可以尝试使用该特征的最可能值或平均值填充NaN。如果您想知道是用不同的值填充NaN,还是按您的意愿填充0,那么我想你应该继续问这个问题来找出它的利弊。谢谢你的回答——我很感激——但是我的数据的大小和形状是无关紧要的。关键是,我在同一数据集中有布尔列(理想情况下),它们告诉学习者所讨论的一个或多个列是否是“活动”的,并且每当有NaN值时,它们的值都是
false
。这就是为什么我很确定简单地用零替换南是可以的,但我希望有人能证实这一点。这也是为什么我认为使用
插补器是没有意义的,因为如果学习者可以简单地忽略该功能,那么插入虚假数据是没有意义的。只是不要在学习中使用那些“非活动”列。你能更详细地描述你的数据吗?您有多少个样本和功能?一个麻烦的想法可能是用相应列的平均值替换NaN,而不是用0填充@sera的评论,scikit learn有Imputer](),您可以尝试使用该特征的最可能值或平均值填充NaN。如果您想知道是用不同的值填充NaN,还是按您的意愿填充0,那么我想你应该继续问这个问题来找出它的利弊。谢谢你的回答——我很感激——但是我的数据的大小和形状是无关紧要的。关键是,我在同一数据集中有布尔列(理想情况下),它们告诉学习者所讨论的一个或多个列是否是“活动”的,并且每当有NaN值时,它们的值都是
false
。这就是为什么我很确定简单地用零替换南是可以的,但我希望有人能证实这一点。这也是为什么我认为使用
插补器是没有意义的,因为如果学习者可以简单地忽略该功能,插入虚假数据是没有意义的。只是不要在学习中使用那些“非活动”列。