擅长:python、mysql、java
<p>在pandas中循环很慢,所以可以使用<code>apply</code>。你知道吗</p>
<pre class="lang-py prettyprint-override"><code>def mean_without_overflow(column):
avg, t = 0, 1
for data in column:
if not math.isnan(data):
avg += (data-avg) / t
t += 1
return avg
</code></pre>
<p>然后我们可以计算出df的整个平均值。你知道吗</p>
<pre class="lang-py prettyprint-override"><code>mean_df = np.mean(df.apply(mean_without_overflow))
</code></pre>
<p>以上脚本与</p>
<pre class="lang-py prettyprint-override"><code>mean_df = np.mean(df.apply(np.mean))
</code></pre>