#if test substrings
m1 = df['Genres'].str.contains('Drama')
m2 = df['Genres'].str.contains('Action')
#if test lists
m1 = ['Drama' in x for x in df['Genres']]
m2 = ['Action' in x for x in df['Genres']]
df['Genres'] = np.select([(m1 & m2) | m2, m1], [0, 1], default=np.nan)
2条答案
按热度按时间hgqdbh6s1#
你可以
extractall
你的关键字,和map
从Map字典,在多个匹配的情况下,让我们得到min
数字(如果需要,你可以使用另一个规则):输出:
如果我们添加另一行而没有匹配,则输出:
bsxbgnwa2#
使用
numpy.select
,如果两者都不匹配,则通过参数default
设置NaN
: