我目前有以下工作代码:
for i,gram in enumerate(df['Unigram']):
for j,word in enumerate(df1['Keyword']):
if df.ix[i,'Unigram'] in df1.loc[j,'Keyword']:
df.ix[i,'Cost'] += df1.ix[j,'Cost']
但是大型数据集需要很长时间。有没有更有效的方法来解决这个问题?我听说Pandas DataFrames不喜欢循环,但我不确定最好的方法。一个有效的解决方案可以解决多个匹配问题。
提前致谢!
答案 0 :(得分:0)
df['Unigram']
和df1['Keyword']
系列对象?然后,您应该使用enumerate()
替换iteritems()
来电。示例:代替enumerate(df['Unigram'])
使用df['Unigram'].iteritems()
。如果它们是DataFrame对象,则可以使用iterrows()。
答案 1 :(得分:0)
尝试使用owin
:
as.mask