这是我的数据框:
import pandas as pd
df = pd.DataFrame({'a': ['axy a', 'xyz b'], 'b': ['obj e', 'oaw r']})
我有一个字符串列表:
s1 = 'lorem obj e'
s2 = 'lorem obj e lorem axy a'
s3 = 'lorem xyz b lorem oaw r'
s4 = 'lorem lorem oaw r'
s5 = 'lorem lorem axy a lorem obj e'
s_all = [s1, s2, s3, s4, s5]
现在我要取每一行,并判断该行的两列是否都出现在s_all
的任何字符串中.例如,对于第一行,我 Select axy_a
和obj_e
,并判断它们是否都出现在s_all
的字符串中.他们都出现在s2
号和s5
号.
我想要的结果如下所示:
a b c
0 axy a obj e lorem obj e lorem axy a
1 axy a obj e lorem lorem axy a lorem obj e
2 xyz b oaw r lorem xyz b lorem oaw r
以下是我的try ,但没有奏效:
l = []
for sentence in s_all:
for i in range(len(df)):
if df.a.values[i] in sentence and df.b.values[i] in sentence:
l.append(sentence)
else:
l.append(np.nan)
我试图将结果追加到一个列表中,然后使用该列表创建我想要的c
列,但不起作用.