我正在尝试根据其中的字符串来标记“描述”列。我为此使用 if/else 语句。
现在看起来像这样:
def char_matching(chars):
if 'software' in chars:
return 'Software development'
elif 'Data' in chars:
return 'Data Science'`
但是,如果我想在一个专栏中一起查找“数据科学”一词,我该怎么写:
elif 'Data-science' in chars:
return 'Data Science'`
或
elif 'Data|science' in chars:
return 'Data Science' `
这是否适用于大写锁定,即“数据”和“数据”。你如何克服这个障碍?
最佳答案
if
/else
构造中的字符串可能包含空格。
如果字符串变量中的任何位置出现“data science”(不区分大小写),这将返回
“Data Science”。
为了处理不区分大小写的问题,请与 chars.lower()
进行比较。如果您不进行此更改,则将区分大小写。
def char_matching(chars):
val = chars.lower()
if 'software' in val:
return 'Software development'
elif 'data science' in val:
return 'Data Science'
...
要测试多个单词,您可以使用 and
:
def char_matching(chars):
val = chars.lower()
if 'software' in val:
return 'Software development'
elif ('data' in val) and ('science' in val):
return 'Data Science'
...
关于python - 使用 if/else 语句在 pandas 列中查找特定单词字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49496755/