【发布时间】:2018-04-18 02:40:43
【问题描述】:
我有两个带有语言数据的 pandas 数据框,oset 带有完整数据,miscset 是完整数据的子集。我正在寻找一种将两列与来自两个不同数据帧的字符串进行比较的方法,并识别那些匹配的行。然后我想将 third 列从 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 与字符串一起使用。
有没有人对我可以做什么或如何继续提出任何建议?
编辑:我或许应该补充一点,在我的真实数据集中,总体上我不想转移或希望保留更多的列,所以我只想添加使用oset 中root 列中的适当行将第5 列添加到miscset。
【问题讨论】:
标签: python-2.7 pandas dataframe linguistics