gpt4 book ai didi

python - 如何仅使用 numpy(而不是 sklearn LabelEncoder)创建标签编码器?

转载 作者:行者123 更新时间:2023-12-04 01:31:23 25 4
gpt4 key购买 nike

我正在尝试重新创建类似于sklearn.preprocessing.LabelEncoder

但是我不想使用 sklearnpandas。我只想使用 numpy 和 Python 标准库。这是我想要实现的目标:

import numpy as np
input = np.array([['hi', 'there'],
['scott', 'james'],
['hi', 'scott'],
['please', 'there']])

# Output would look like
np.ndarray([[0, 0],
[1, 1],
[0, 2],
[2, 0]])

如果能够将其映射回去也很棒,这样结果就会再次看起来与输入完全一样。

如果这是在电子表格中,输入将如下所示: enter image description here

最佳答案

这是一个简单的理解,使用 np.uniquereturn_inverse

结果
arr = np.array([['hi', 'there'], ['scott', 'james'],
['hi', 'scott'], ['please', 'there']])

np.column_stack([np.unique(arr[:, i], return_inverse=True)[1] for i in range(arr.shape[1])])

array([[0, 2],
[2, 0],
[0, 1],
[1, 2]], dtype=int64)

或者沿轴应用:

np.column_stack(np.apply_along_axis(np.unique, 0, arr, return_inverse=True)[1])

关于python - 如何仅使用 numpy(而不是 sklearn LabelEncoder)创建标签编码器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60955014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com