擅长:python、mysql、java
<p>一种不一定有效的解决方案是先转换为<code>bool</code>,然后再转换为<code>sum</code>。在计算中,<code>0</code>/<code>1</code>分别等效于<code>False</code>/<code>True</code>:</p>
<pre><code>res = df.groupby(['DATE', 'LOC'])['INTERATION']\
.apply(lambda x: x.astype(bool).sum()).reset_index()
print(res)
DATE LOC INTERATION
0 1/11 INDIA 1
1 1/11 LONDON 1
2 2/11 INDIA 2
3 2/11 LONDON 0
4 3/11 LONDON 1
</code></pre>