擅长:python、mysql、java
<p>你可以用发电机。你可以这样写:</p>
<pre><code>import pandas as pd
from pandas import np
dfcolors = pd.DataFrame({'Colors': ['Blue', 'Red', np.nan, 'Green', np.nan, np.nan, 'Brown']})
dfalt = pd.DataFrame({'Alt': ['Cyan', 'Pink']})
gen_alt = (alt for alt in dfalt.Alt)
for i, color in enumerate(dfcolors.Colors):
if not pd.isnull(color): continue
try:
dfcolors.Colors[i] = gen_alt.next()
except StopIteration:
break
print(dfcolors)
# Colors
# 0 Blue
# 1 Red
# 2 Cyan
# 3 Green
# 4 Pink
# 5 NaN
# 6 Brown
</code></pre>