我知道还有另一篇关于熊猫中多行匹配的帖子,但我现在找的不是这种方法
我的问题是:
我想将数据集A的行中的所有数据进行拟合。在数据集A中,我有4行,每行有不同的数据。我想对所有4行的所有数据进行拟合,然后进行转换
import pandas as pd
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder, MinMaxScaler
pda = pd.DataFrame({"input":pd.Series(["abc23d,efgh45,jklfj4","dfer56,efgh45,jklh45","abc23d,efgh66,jklfj7","abc23d,efgh45,jklfj4"]),
"label": pd.Series([1,2,3,1])})
label_encoder = LabelEncoder()
pda["encoded_input"] = pda["input"].apply(lambda x:x.split(",")).apply(label_encoder.fit_transform)
当前结果:(这是错误的,因为它变换每一行,同时变换。我不想一次调整和转换每一行,因为它将保持重置调整词汇表。我想首先在所有行中拟合所有数据,我们有5个以上的数据,所以它的值应该在5以上,我试图首先合并所有行数据,然后使其列出并拟合,但这将花费太多。**我想知道一个更好更聪明的方法来降低成本)
input label encoded_input
0 abc23d,efgh45,jklfj4 1 [0, 1, 2]
1 dfer56,efgh45,jklh45 2 [0, 1, 2]
2 abc23d,efgh66,jklfj7 3 [0, 1, 2]
3 abc23d,efgh45,jklfj4 1 [0, 1, 2]
预期结果:(每行数据具有唯一的数字,然后在转换后赋值)
input label encoded_input
0 abc23d,efgh45,jklfj4 1 [0, 1, 2]
1 dfer56,efgh45,jklh45 2 [0, 1, 2]
2 abc23d,efgh66,jklfj7 3 [0, 1, 2]
3 abc23d,efgh45,jklfj4 1 [0, 1, 2]
我将使用
更新
相关问题 更多 >
编程相关推荐