首页 > 解决方案 > 根据列是否包含给定字符串设置标志列

问题描述

谁能明白为什么这不起作用?

它正在尝试做;如果列名包含文本“Andy”,则创建一个名为 Andy 的列并将该行 = 设置为 1

df.loc[df['Name'].str.contains(['Andy']),'Andy']=1

标签: pythonstringpandasseries

解决方案


您必须删除列表,只需要字符串:

df.loc[df['Name'].str.contains('Andy'),'Andy'] = 1

对于多个价值链|

df.loc[df['Name'].str.contains('Andy|Andrew'),'Andy'] = 1

推荐阅读