我有一个带有targets
列的数据框,并将它们分配给y
:
y = df['targets']
0 APPLE
1 APPLE
2 ORANGE
3 APPLE
4 APPLE
...
9995 ORANGE
9996 ORANGE
9997 APPLE
9998 ORANGE
9999 ORANGE
Name: class, Length: 10000, dtype: object
我需要将我的分类特征更改为int
,然后构造一个dict
,所有分类特征都为key
,而int
为{{1 }}:
value
如何使用target_mapping = {
'APPLE': 0,
'ORANGE': 1,
'AVACADO': 2
}
函数更改.map
中的值?
预期输出应如下:
y
答案 0 :(得分:1)
一种解决方案:
import pandas as pd
target_mapping = {
'APPLE': 0,
'ORANGE': 1,
'AVOCADO': 2
}
df = pd.DataFrame({"targets": ["APPLE", "ORANGE", "ORANGE", "AVOCADO"]})
df["targets"] = df["targets"].map(lambda x: target_mapping[x])
N.B.1 (我以为是错字)将帖子AVACADO
的单词替换为AVOCADO
(
N.B.2 该解决方案假定target_mapping
键与df["target"]
中所有可能的值相同