擅长:python、mysql、java
<p>使用<code>lambda</code>到<code>apply</code>随机选择<code>nan</code>值。你知道吗</p>
<pre><code>In [243]: df[['english_name']].apply(lambda x: x.fillna(''.join(choice(ascii_upper
...: case) for i in range(12))), axis=1)
Out[243]:
english_name
853 BIZLLWLFGUSD
854 cheese empty
855 cheese other
856 yogurt empty
857 yogurt other
858 yogurt empty
859 yogurt other
860 butter empty
861 butter other
862 NMHDRQMTWZXF
863 EGPCZFWEDOFR
</code></pre>
<p>或者,用随机名称预先创建一个长度相同的序列,然后使用<code>df.name.fillna(s)</code></p>
<pre><code>In [259]: s = pd.Series([''.join(choice(ascii_uppercase) for i in range(12)) for _
...: in range(len(df))], index=df.index)
In [260]: df.english_name.fillna(s)
Out[260]:
853 BRFERJPGVDXP
854 cheese empty
855 cheese other
856 yogurt empty
857 yogurt other
858 yogurt empty
859 yogurt other
860 butter empty
861 butter other
862 NYYTRCSSCPWT
863 ZYBNJQIPIWEF
Name: english_name, dtype: object
</code></pre>