Python 对分类变量运行一个热编码的有效循环

Python 对分类变量运行一个热编码的有效循环,python,pandas,for-loop,one-hot-encoding,Python,Pandas,For Loop,One Hot Encoding,我试图减少我的代码,其中涉及一个热编码的分类变量。我试过一种方法,但结果失败了。我试图将分类变量的编码器存储在字典中,并在测试数据帧中迭代这些列的编码器,然后最终将它们转换为数据帧,并在主数据帧中附加不同名称的编码器。然后删除其中一列。我可以使用虚拟编码,但这不是我现在需要做的 Categorical_features = ['A','B','C'] one_hot_encoders = {} df= pd.DataFrame() X =[] for column

我试图减少我的代码,其中涉及一个热编码的分类变量。我试过一种方法,但结果失败了。我试图将分类变量的编码器存储在字典中,并在测试数据帧中迭代这些列的编码器,然后最终将它们转换为数据帧,并在主数据帧中附加不同名称的编码器。然后删除其中一列。我可以使用虚拟编码,但这不是我现在需要做的

   Categorical_features = ['A','B','C']
   one_hot_encoders = {}
   df= pd.DataFrame()
   X =[]
   for column in categorical_features:
    one_hot_encoders[column] = OneHotEncoder()
    X[column]=np.array(one_hot_encoders[column].fit_transform(test_raw[column].values)).reshape(-1,1)
    testraw = pd.concat([testraw,df[:,X[column]]], axis=1) --------- error

有人能帮我找到更好的代码吗?谢谢

什么是错误?请将堆栈跟踪放在问题中。请将数据的一小部分作为可复制的代码,用于测试,以及所提供数据的预期输出。有关详细信息,请参见和。