Python 将函数应用于二维阵列

Python 将函数应用于二维阵列,python,numpy,Python,Numpy,我有: 然后我分为培训/测试: X = array[:,0:22] Y = array[:,22] 现在我尝试将SciKit LabelEncoder应用于X_列中的所有列。大概是这样的: X_train, X_validation, Y_train, Y_validation = train_test_split(X, Y, test_size=0.20, random_state=7) 这失败了,因为col显然是一个ndarray,您不能散列它 我似乎不知道如何在apply_中沿着_轴获

我有:

然后我分为培训/测试:

X = array[:,0:22]
Y = array[:,22]
现在我尝试将SciKit LabelEncoder应用于X_列中的所有列。大概是这样的:

X_train, X_validation, Y_train, Y_validation = train_test_split(X, Y, test_size=0.20, random_state=7)
这失败了,因为col显然是一个ndarray,您不能散列它

我似乎不知道如何在apply_中沿着_轴获取索引


语法是什么?

不要尝试使用
np。沿轴应用。与普通迭代相比,它没有任何好处。
labelEncoderDict = defaultdict(LabelEncoder)

np.apply_along_axis(lambda col: labelEncoderDict[col].fit_transform(col), 0, X_train)