假设我的数据集
name what
A apple[red]
B cucumber[green]
C dog
C orange
D banana
D monkey
E cat
F carrot
.
.
我想创建并指定一个列表,并且如果该列包含该列表中包含的值,我想将指定的值设置为一个新列。
清单值
fruit = ['apple', 'banana', 'orange']
animal = ['dog', 'monkey', 'cat']
vegetable = ['cucumber', 'carrot']
得到我想要的结果
name what class
A apple fruit
B cucumber vegetable
C dog animal
C orange fruit
D banana fruit
D monkey animal
E cat animal
F carrot vegetable
列表值和列值不'匹配',必须包含。
感谢您阅读。
fruit = ['apple', 'banana', 'orange']
animal = ['dog', 'monkey', 'cat']
vegetable = ['cucumber', 'carrot']
d = {'fruit':fruit, 'animal':animal,'vegetable':vegetable}
d1 = {k: oldk for oldk, oldv in d.items() for k in oldv}
然后:
df['class'] = df['what'].map(d1)