使用字典替换列中字符串中的字符串

我试图使用字典列中的字符串替换为其。但是,每列都包含句子。因此,我必须首先标记句子,并检测句子中的单词是否与词典中的键对应,然后用相应的值替换字符串

然而,结果是我继续得不到它。有没有更好的方法来解决这个问题

这是我目前的MVC。在评论中,我指定了问题发生的位置

将熊猫作为pd导入
数据={'Categories':['animal','plant','object'],
'Type':['tree'、'dog'、'rock'],
‘评论’:[‘纽约的树很大’、‘英国的猫很小’、‘这块石头是在洛杉矶发现的’。]
}
ids={'Id':['NYC'、'LA'、'UK'],
‘城市’:[‘纽约市’、‘洛杉矶’、‘英国’]
df=pd.DataFrame(数据)
ids=pd.DataFrame(ids)
def col2dict(ids):
数据=Id[['Id','City']]
idDict=data.set_index('Id')。为_dict()['City']
返回idDict
def替换ID(数据,idDict):
ids=idDict.keys()
类型=idDict.values()
数据['commentTest']=数据['Comment']
words=data['commentTest'].apply(lambda x:x.split())
对于枚举(单词)中的(i,单词):
#在这里我们可以看到这些词出现了
印刷字
打印ID
如果ID中有单词:
#在这里,我们可以看到他们没有得到承认。怎么搞的?
打印ID
印刷字
单词[i]=idDict[word]
数据['commentTest']=''。应用(lambda x:''。加入(x))
返回数据
idDict=col2dict(ids)
结果=替换ID(df、idDict)

结果:

我使用的是python2.7,当我打印出dict时,有Unicode的u'

我的预期结果是:

类别

评论

类型

评论测试

类别注释类型注释测试
动物纽约市的树很大纽约市的树很大
来自英国的猫是小狗。来自英国的猫是小狗
这块石头是在洛杉矶发现的。这块石头是在洛杉矶发现的。

您可以创建词典,然后替换

ids={'Id':['NYC','LA','UK'],
‘城市’:[‘纽约市’、‘洛杉矶’、‘英国’]
ids=dict(zip(ids['Id'],ids['City']))
打印(ID)
{'UK':'UK','LA':'Los Angeles','NYC':'New York City'}
df['commentTest']=df['Comment'].replace(id,regex=True)
打印(df)
类别注释类型\
纽约的树是一棵很大的树
英国的猫是小狗
这块石头是在洛杉矶发现的。岩石
评论测试
纽约市的树很大
来自英国的猫很小
这块石头是在洛杉矶发现的。

发表评论