我有一个数据框,想检查一个列值是否包含另一个列值。
name1 name2
0 aa aab
1 xyz x
以下不起作用
df = df.assign(name1_contains_name2=df.name1.str.contains(df.name2),
name2_contains_name1=df.name2.str.contains(df.name1))
但我想获得以下数据框
name1 name2 name1_contains_name2 name2_contains_name1
0 aa aab False True
1 xyz x True False
我该怎么写?
用途:
z = list(zip(df.name1, df.name2))
df = df.assign(name1_contains_name2=[b in a for a, b in z],
name2_contains_name1=[a in b for a, b in z])
print (df)
name1 name2 name1_contains_name2 name2_contains_name1
0 aa aab False True
1 xyz x True False