擅长:python、mysql、java
<p>这里的某些部分最好用pandas来完成,而有些部分(例如,应用于笛卡尔积的函数)可以不用pandas来完成。你知道吗</p>
<p>总的来说,您可以通过以下方法来实现:</p>
<pre><code>import itertools
import numpy as np
alias = {l : r for l, r in itertools.product(df.a, df.a) if l < r and
fuzz.ratio(l, r) > 70}
>>> df.b.groupby(df.a.replace(alias)).sum()
apple 4
banana 5
orange 14
Name: b, dtype: int64
</code></pre>
<hr/>
<p>线路</p>
<pre><code>alias = {l : r for l, r in itertools.product(df.a, df.a) if l < r and
fuzz.ratio(l, r) > 70}
</code></pre>
<p>创建映射<code>alias</code>,将单词从<code>a</code>映射到它们的别名。你知道吗</p>
<p>线路</p>
<pre><code>df.b.groupby(df.a.replace(alias)).sum()
</code></pre>
<p>通过使用<code>alias</code>的翻译对<code>b</code>进行分组,然后求和。你知道吗</p>