我有两个dataframe,我想看看dataframe #1中的特定列中的哪些值具有与dataframe #2中相应列中的值相等的子字符串。
data = {
'id': ['TEST-123','WORD-456']
}
data2 = {
'id':['123','456']
}
df1 = pd.DataFrame(data)
df2 = pd.DataFrame(data2)
我试过用
df1 = df1[df1['id'].str.contains([i for i in df2.tolist()])]
但遇到了“TypeError:不可散列类型:'list''错误。
在这个例子中,我预期的 Dataframe 将是df 1保持不变,因为'TEST-123'具有来自df 2的子字符串'123','WORD-456'具有来自df 2的子字符串'456'。
1条答案
按热度按时间uurity8g1#
您可以创建一个正则表达式来与
str.contains
一起使用:输出:
注意,
str.contains
需要一个字符串,而不是一个字符串列表。