我有下面的专栏。我需要将包含“过敏反应”一词的单元格转换为1,将不包含该词的单元格转换为0。你知道吗
到现在为止,我已经试过了,但是缺少了一些东西
df['Name']= df['Name'].replace(r"^(.(?=anaphylaxis))*?$", 1,regex=True)
df['Name']= df['Name'].replace(r"^(.(?<!anaphylaxis))*?$", 0, regex=True)
ID Name
84 Drug-induced anaphylaxis
1041 Acute anaphylaxis
1194 Anaphylactic reaction
1483 Anaphylactic reaction, due to adverse effect o...
2226 Anaphylaxis, initial encounter
2428 Anaphylaxis
2831 Anaphylactic shock
4900 Other anaphylactic reaction
使用
str.contains
进行不区分大小写的匹配。你知道吗或者,更简洁地说
contains
在您还希望执行基于regex的匹配时非常有用。尽管在这种情况下,您可能可以通过添加regex=False
来完全摆脱regex,以获得更高的性能。你知道吗但是,要获得更多的绩效,请使用列表理解。你知道吗
或者更好
可以使用^{} 而不是regex。此方法返回一个布尔序列,然后将其转换为
int
。你知道吗结果:
相关问题 更多 >
编程相关推荐