python - 根据列是否包含给定字符串设置标志列
问题描述
谁能明白为什么这不起作用?
它正在尝试做;如果列名包含文本“Andy”,则创建一个名为 Andy 的列并将该行 = 设置为 1
df.loc[df['Name'].str.contains(['Andy']),'Andy']=1
解决方案
您必须删除列表,只需要字符串:
df.loc[df['Name'].str.contains('Andy'),'Andy'] = 1
对于多个价值链|
:
df.loc[df['Name'].str.contains('Andy|Andrew'),'Andy'] = 1
推荐阅读
- r - 如何按条件选择行?
- javascript - 用JS隐藏文本
- angular - 即使我取消选中切换,为什么会触发切换按钮功能?
- google-sheets-api - API 授权 Google 表格 API
- java - Springboot 2.2迁移给出flyway错误:发现多个版本的迁移
- google-maps - Typeform集成谷歌地图地点建议api
- java - 如何将数组分成不同的“mags”
- c++ - 在 Cocos2dx 中初始化粒子效果后的警告 - “libpng 警告:iCCP:已知不正确的 sRGB 配置文件”
- c++ - 如何形成对非最终类的“最终”引用?
- python - 在 python socketio RuntimeWarning 中:尽管编写了等待语句,但从未等待协程'initial'