PythonPands-在dataframe中查找子字符串,然后无循环求和

PythonPands-在dataframe中查找子字符串,然后无循环求和,python,pandas,numpy,Python,Pandas,Numpy,当前正在执行字符串相等 df['Contains string'] = (df[columns] == 'myString').sum(axis=1) 我怎样才能做同样的事情,但是找到一个子字符串而不是一个完整的字符串,比如 df['Contains string'] = (df[columns].contains('myString')).sum(axis=1) 但这不起作用。还尝试了str.contains、series.index、series.find,因为未为数据帧实现使用: 或者

当前正在执行字符串相等

df['Contains string'] = (df[columns] == 'myString').sum(axis=1)
我怎样才能做同样的事情,但是找到一个子字符串而不是一个完整的字符串,比如

df['Contains string'] = (df[columns].contains('myString')).sum(axis=1)
但这不起作用。还尝试了
str.contains、series.index、series.find

,因为未为
数据帧实现使用:

或者使用第一级的
sum
,谢谢@anky:

df['Contains string'] = df[columns].stack().str.contains('myString').sum(level=0)
或者,如果没有可能丢失的值,请在
中与
一起使用:

df['Contains string'] = (df[columns].applymap(lambda x: 'myString' in x)).sum(axis=1)

另外,我更喜欢:
df[columns].stack().str.contains('myString').sum(level=0)
df['Contains string'] = (df[columns].applymap(lambda x: 'myString' in x)).sum(axis=1)