我试图从一个列表中创建一组列,该列表从另一列中获取一个字符串。
我在this post中找到了一个临时的解决方案,但是它只创建一个列,例如,我在String1中有“我有一只狗和一只猫”。
In [7]: df["animal"] = df["String1"].map(lambda s: next((animal for animal in search_list if animal in s), "other"))
...:
In [8]: df
Out[8]:
weight String1 animal
0 70 Labrador is a dog dog
1 10 Abyssinian is a cat cat
2 65 German Shepard is a dog dog
3 1 pigeon is a bird other
如何创建两个列,如['animal_1']和[' animal_2'],使['animal_1']中同时包含“dog”和[' animal_2']中的“cat”?
所需的输出如下所示:
weight String1 animal_1 animal_2
0 70 Labrador is a dog dog
1 10 Abyssinian is a cat cat
2 65 German Shepard is a dog dog
3 1 pigeon is a bird other
4 30 I have a dog and a cat dog cat
2条答案
按热度按时间f0brbegy1#
您可以用途:
输出量:
ltqd579y2#
最好在一开始就编译正则表达式,然后在循环中使用编译后的正则表达式。