擅长:python、mysql、java
<p>我想说你不需要任何显式循环。希望下面的内容能满足您的需要</p>
<pre><code>bigdf = pd.DataFrame({'Temperature': [30.27, 30.21, 31.81], 'Wind Speed': [5.27, 4.83, 6.09]})
def windchill(temp, wind):
"compute the wind chill given two pandas series temp and wind"
tomodify = (temp<=50) & (wind>3) #check which values need to be modified
t = temp.copy() #create a new series
# change only the values that need modification
t[tomodify] = 35.74 + 0.6215*temp[tomodify] - 35.75*wind[tomodify]**0.16 +
0.4275*temp[tomodify]*wind[tomodify]**0.16
return t
bigdf['Wind Chill'] = windchill(bigdf['Temperature'], bigdf['Wind Speed'])
bigdf
Temperature Wind Speed Wind Chill
0 30.27 5.27 24.794589
1 30.21 4.83 25.136527
2 31.81 6.09 25.934114
</code></pre>
<p>ps:这个<code>windchill</code>的实现也适用于numpy数组。在</p>