在 DataFrame 中编码多个标签
Encode multiple label in DataFrame
给定一个列表列表,其中每个子列表都是一个装满字母的桶,例如:
L=[['a','c'],['b','e'],['d']]
我想在我的 DataFrame
中将每个子列表编码为一行,如下所示:
a b c d e
0 1 0 1 0 0
1 0 1 0 0 1
2 0 0 0 1 0
让我们假设这封信只是从 'a' 到 'e'。我想知道如何完成一个功能来做到这一点。
您可以使用 sklearn
库:
import pandas as pd
from sklearn.preprocessing import MultiLabelBinarizer
L = [['a', 'c'], ['b', 'e'], ['d']]
mlb = MultiLabelBinarizer()
res = pd.DataFrame(mlb.fit_transform(L),
columns=mlb.classes_)
print(res)
a b c d e
0 1 0 1 0 0
1 0 1 0 0 1
2 0 0 0 1 0
给定一个列表列表,其中每个子列表都是一个装满字母的桶,例如:
L=[['a','c'],['b','e'],['d']]
我想在我的 DataFrame
中将每个子列表编码为一行,如下所示:
a b c d e
0 1 0 1 0 0
1 0 1 0 0 1
2 0 0 0 1 0
让我们假设这封信只是从 'a' 到 'e'。我想知道如何完成一个功能来做到这一点。
您可以使用 sklearn
库:
import pandas as pd
from sklearn.preprocessing import MultiLabelBinarizer
L = [['a', 'c'], ['b', 'e'], ['d']]
mlb = MultiLabelBinarizer()
res = pd.DataFrame(mlb.fit_transform(L),
columns=mlb.classes_)
print(res)
a b c d e
0 1 0 1 0 0
1 0 1 0 0 1
2 0 0 0 1 0