我想根据字符串列中的值标记熊猫行。 所需的输出是这样的:
我有此代码:
data = [{'age': 44, 'time': 150, 'name': "ape monkey"},
{'age': 55, 'time': 200, 'name': "pig monkey"},
{'age': 66, 'time': 50, 'name': "ape cow"}]
df = pd.DataFrame(data)
apes = df['name'].str.contains("ape")
monkeys = df['name'].str.contains("monkey")
像上面所需的输出那样,创建列type
的好方法是什么?
答案 0 :(得分:1)
这是使用map
的非常规解决方案:
(2*apes + monkeys).map({0: 'neither', 1: 'monkey', 2: 'ape', 3: 'both'})
0 both
1 monkey
2 ape
Name: name, dtype: object
这个想法是为猿分配2的值,给猴子分配1的值,然后将两者相加并查看结果。