0

我想使用 Keras 的序列模型来预测序列。我的数据框包含字符串数据,因此我决定使用LabelEncodersklearn 库对字符串数据进行编码。

在此处输入图像描述

我试过这个代码片段:

import pandas as pd
df = pd.read_csv("sample-03.csv")
from sklearn.preprocessing import LabelEncoder
df.apply(LabelEncoder().fit_transform)

给出这个结果:

在此处输入图像描述

此标签编码适用于具有不同值的每一列,即我需要将http://example.com/296表示为整个数据集的“2”。我将不胜感激提出解决方案。

我还尝试将数据集转换为元组并为此数据集使用字典,但对于不同列中的相同值,该键再次不是唯一的。

4

2 回答 2

0

我想出了解决方案,并想在这里分享。

le = LabelEncoder()
le.fit(df.stack().unique())
df['x-2']= le.transform(df['x-2'])
df['x-1']= le.transform(df['x-1'])
df['x0']= le.transform(df['x0'])
df['x1']= le.transform(df['x1'])
df['x2']= le.transform(df['x2'])
于 2020-09-04T08:52:23.093 回答
0

LabelEncoder不会处理你的要求。我建议编写一个小函数来提取所有唯一的 URL,然后为每个 URL 分配一个数值,然后用数据框中的相应数值替换 URL。

于 2020-09-04T07:34:50.223 回答