【发布时间】:2018-06-06 20:12:32
【问题描述】:
我有一个pandas dataFrame,我想检查其中一列是否为contained。
假设:
df = DataFrame({'A': ['some text here', 'another text', 'and this'],
'B': ['some', 'somethin', 'this']})
我想检查df.B[0]是否在df.A[0]中,df.B[1]是否在df.A[1]等中。
目前的做法
我有如下apply函数实现
df.apply(lambda x: x[1] in x[0], axis=1)
结果是Series 的[True, False, True]
这很好,但对于我的dataFrame shape(数百万)来说,这需要很长时间。
是否有更好(即更快)的实施方式?
不成功的方法
我尝试了pandas.Series.str.contains 的方法,但它只能接受一个字符串作为模式。
df['A'].str.contains(df['B'], regex=False)
【问题讨论】:
标签: python string pandas apply