我有两个带有语言学数据的pandas数据框,oset
是完整数据,miscset
是完整数据的子集。我想找到一种比较两个不同数据框中带有字符串的两列并识别匹配行的方法。然后我想将那些匹配的行从oset
复制一个第三列到miscset
。例如:
oset = pd.DataFrame({'some_items' : ['book', 'cat', 'deer', 'egg'],
'root' : ['boks', 'kattuz', 'deuza', 'ajja']})
miscset = pd.DataFrame({'subset' : ['cat', 'egg']})
我想要匹配cat
和egg
,因为它们是共享的,然后在miscset
中创建一个新列root
,该列包含适当行中的kattuz
和ajja
。
我从这个开始:
for row in miscset['subset']:
if row.isin(oset['some_items']):
但是我在这里已经遇到了一个问题,因为您无法使用.isin
来处理字符串。
有人有什么建议可以代替或如何继续吗?
编辑:我应该补充说明的是,在我的实际数据集中,整体上有更多的列,我不希望转移,或者我希望保留,所以我只想添加第五列到miscset
,并使用从oset
的root
列中适当的行。