Python 如何将pandas操作集成到sklearn管道中
我对熊猫数据帧有一个简单的操作,如下所示:Python 如何将pandas操作集成到sklearn管道中,python,pandas,class,scikit-learn,pipeline,Python,Pandas,Class,Scikit Learn,Pipeline,我对熊猫数据帧有一个简单的操作,如下所示: # initialization dct = {1: 'A', 2:'B', 3: 'C'} df = pd.DataFrame({'id': [1,2,3], 'value':[7,8,9]}) # actual transformation df['newid'] = df.id.map(dct) 我想将此转换作为sklearn管道的一部分。我找到了一些教程,还有。但我就是不能让它为我工作。以下是我尝试过的许多版本的一个版本: # initial
# initialization
dct = {1: 'A', 2:'B', 3: 'C'}
df = pd.DataFrame({'id': [1,2,3], 'value':[7,8,9]})
# actual transformation
df['newid'] = df.id.map(dct)
我想将此转换作为sklearn管道的一部分。我找到了一些教程,还有。但我就是不能让它为我工作。以下是我尝试过的许多版本的一个版本:
# initialization
dct = {1: 'A', 2:'B', 3: 'C'}
df = pd.DataFrame({'id': [1,2,3], 'value':[7,8,9]})
# define a class similar to those in the tutorials
class idMapper(BaseEstimator, TransformerMixin):
def __init__(self, key='id'):
self.key = key
def fit(self, X, y=None):
return self
def transform(self, X):
return X[key].map(dct)
# Apply the transformation
idMapper.fit_transform(df)
错误消息如下:
TypeError:fit\u transform()缺少1个必需的位置参数:“X”
。有人能帮我解决这个问题并让它工作吗?谢谢 请参见下面代码的更正版本。评论中给出的解释
dct = {1: 'A', 2:'B', 3: 'C'}
df = pd.DataFrame({'id': [1,2,3], 'value':[7,8,9]})
# define a class similar to those in the tutorials
class idMapper(BaseEstimator, TransformerMixin):
def __init__(self, key='id'):
self.key = key
def fit(self, X, y=None):
return self
def transform(self, X):
return X[self.key].map(dct) # <--- self.key
# Apply the transformation
idMapper().fit_transform(df) # <--- need to instantiate
dct={1:A',2:B',3:C'}
df=pd.DataFrame({'id':[1,2,3],'value':[7,8,9]})
#定义与教程中类似的类
类idMapper(基估计器、变换器):
定义初始化(self,key='id'):
self.key=key
def配合(自身、X、y=无):
回归自我
def变换(自,X):
返回X[self.key].map(dct)#请参见下面的代码更正版本。评论中给出的解释
dct = {1: 'A', 2:'B', 3: 'C'}
df = pd.DataFrame({'id': [1,2,3], 'value':[7,8,9]})
# define a class similar to those in the tutorials
class idMapper(BaseEstimator, TransformerMixin):
def __init__(self, key='id'):
self.key = key
def fit(self, X, y=None):
return self
def transform(self, X):
return X[self.key].map(dct) # <--- self.key
# Apply the transformation
idMapper().fit_transform(df) # <--- need to instantiate
dct={1:A',2:B',3:C'}
df=pd.DataFrame({'id':[1,2,3],'value':[7,8,9]})
#定义与教程中类似的类
类idMapper(基估计器、变换器):
定义初始化(self,key='id'):
self.key=key
def配合(自身、X、y=无):
回归自我
def变换(自,X):
返回X[self.key].map(dct)#此外,您可能需要编写一个方法逆变换()
来恢复值。同样,您可能需要编写一个方法逆变换()
来恢复值