gpt4 book ai didi

python - 在 Python 中将具有多个特征的分类数据转换为数字的最快方法是什么?

转载 作者:行者123 更新时间:2023-11-28 21:37:23 25 4
gpt4 key购买 nike

举个例子,我有一个 mushroom具有数十个分类特征的数据集。我想将其加载到 pandas.DataFrame 中并转换为数字。样本的特征存储在列中,行代表不同的样本。因此,数字转换应该应用于列。在 R 中,我只需要两行代码即可:

#Load the data. The features are categorical.
mushrooms <- read.csv("https://archive.ics.uci.edu/ml/machine-learning-databases/mushroom/agaricus-lepiota.data", header = FALSE, stringsAsFactors = TRUE)

#Convert the features to numeric. The features are stored in columns.
mushroomsNumeric <- data.frame(lapply(mushrooms, as.numeric))

# View the first 5 samples of the original data.
mushrooms[1:5,]
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20 V21 V22 V23
1 p x s n t p f c n k e e s s w w p w o p k s u
2 e x s y t a f c b k e c s s w w p w o p n n g
3 e b s w t l f c b n e c s s w w p w o p n n m
4 p x y w t p f c n n e e s s w w p w o p k s u
5 e x s g f n f w b k t e s s w w p w o e n a g

# View the first 5 samples of the converted data.
mushroomsNumeric[1:5,]
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20 V21 V22 V23
1 2 6 3 5 2 7 2 1 2 5 1 4 3 3 8 8 1 3 2 5 3 4 6
2 1 6 3 10 2 1 2 1 1 5 1 3 3 3 8 8 1 3 2 5 4 3 2
3 1 1 3 9 2 4 2 1 1 6 1 3 3 3 8 8 1 3 2 5 4 3 4
4 2 6 4 9 2 7 2 1 2 6 1 4 3 3 8 8 1 3 2 5 3 4 6
5 1 6 3 4 1 6 2 2 1 5 2 4 3 3 8 8 1 3 2 1 4 1 2

在 Python 中使用 pandas.DataFrame 执行相同操作的最快方法是什么?谢谢!

最佳答案

您还可以使用LabelEncoder来自 sklearn 库。

from sklearn.preprocessing import LabelEncoder
lbl = LabelEncoder()

# sample data
df = pd.DataFrame({'V1': ['a','b','a','d'],
'V2':['c','d','d','c']})

# apply function
df.apply(lbl.fit_transform)

V1 V2
0 0 0
1 1 1
2 0 1
3 2 0

关于python - 在 Python 中将具有多个特征的分类数据转换为数字的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49656129/

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