有一种方法可以检查列中的字符串是否包含另一个字符串:
df["column"].str.contains("mystring")
但是我正在寻找相反的情况,列字符串要包含在另一个字符串中,而不执行apply函数,我猜这个函数比矢量化.contains
慢:
df["column"].apply(lambda x: x in "mystring", axis=1)
使用数据更新:
mystring = "abc"
df = pd.DataFrame({"A": ["ab", "az"]})
df
A
0 ab
1 az
我想只显示“ab”,因为它包含在mystring中。
答案 0 :(得分:2)
只有一个选项(jpp有) - 迭代列表理解:
df[[r in mystring for r in df.A]]
A
0 ab
或者,
pd.DataFrame([r for r in df.A if r in mystring], columns=['A'])
A
0 ab
答案 1 :(得分:2)
pd.Series([i in mystring for i in df.A])
输出:
0 True
1 False
dtype: bool