擅长:python、mysql、java
<p>如果要避免在某些组只包含NaN时出现的错误,可以执行以下操作(请注意,我更改了df,因此对于trial=1的组只有NaN):</p>
<pre><code>df = pd.DataFrame({'trial': [1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3,1,1],
'cs_name': [np.nan, np.nan, np.nan, np.nan, np.nan, np.nan, 'B2', np.nan,
'A3', np.nan, np.nan, np.nan, np.nan,np.nan]})
g = data.groupby('trial')
g['cs_name'].transform(lambda s: 'No values to aggregate' if
pd.isnull(s).all() == True else s.loc[s.first_valid_index()])
df['cs_name'] = g['cs_name'].transform(lambda s: 'No values to aggregate' if
pd.isnull(s).all() == True else s.loc[s.first_valid_index()])`
</code></pre>
<p>这样,当程序找到某个特定组的所有NaN而不是错误时,就可以输入“No Values to aggregate”(或任何需要的值)。</p>
<p>希望这有帮助:)</p>
<p>费德里科</p>