<p>尝试(你的方法):</p>
<pre><code>import statistics
def wkQtyEXTMean(row):
if row['wk13QtyEXT'] == 0 and row['wk12QtyEXT'] == 0:
return 'No mean'
return statistics.mean([row['wk13QtyEXT'], row['wk12QtyEXT']])
combined_sf2['wkQtyEXTMean'] = combined_sf2.apply(wkQtyEXTMean, axis=1)
</code></pre>
<p>或者没有<code>statistics.mean</code>:</p>
<pre><code>def wkQtyEXTMean(row):
if row['wk13QtyEXT'] == 0 and row['wk12QtyEXT'] == 0:
return 'No mean'
return (row['wk13QtyEXT'] + row['wk12QtyEXT']) / 2
combined_sf2['wkQtyEXTMean'] = combined_sf2.apply(wkQtyEXTMean, axis=1)
</code></pre>
<p>或者没有<code>apply</code>:</p>
<pre><code>combined_sf2['wkQtyEXTMean'] = (combined_sf2['wk13QtyEXT']
+ combined_sf2['wk12QtyEXT']) / 2
combined_sf2.loc[combined_sf2['wk13QtyEXT'].eq(0)
& combined_sf2['wk12QtyEXT'].eq(0), 'wkQtyEXTMean'] = 'No mean'
</code></pre>
<p>或者如果您已经在使用NumPy(<code>np</code>):</p>
<pre><code>combined_sf2['wkQtyEXTMean'] = np.where(
combined_sf2['wk13QtyEXT'].eq(0) & combined_sf2['wk12QtyEXT'].eq(0),
'No mean',
(combined_sf2['wk13QtyEXT'] + combined_sf2['wk12QtyEXT']) / 2
)
</code></pre>