擅长:python、mysql、java
<p>您正在使用零来表示缺少的数据,同时它们也可以表示有效值</p>
<p>首先确定缺失值的位置,例如:</p>
<pre><code>missing = (df1==0) & (df2==0)
</code></pre>
<p>然后计算平均值:</p>
<pre><code>df1['average'] = df1[~missing].iloc[:, 1:].mean(axis=1)
df2['average'] = df2[~missing].iloc[:, 1:].mean(axis=1)
</code></pre>
<p>应使用第一列作为索引:</p>
<pre><code>df1 = df1.set_index['name']
df2 = df2.set_index['name']
</code></pre>
<p>这将更加简洁,并且可以避免使用诸如<code>loc[:, 1:]</code>或<code>numeric_only=True</code>之类的不完整子句来跳过包含字符串值的列</p>