另一种方法是使用
first_valid_index和
transform:
In [11]: g = df.groupby('trial')In [12]: g['cs_name'].transform(lambda s: s.loc[s.first_valid_index()])Out[12]: 0 A11 A12 A13 A14 B25 B26 B27 B28 A19 A110 A111 A1Name: cs_name, dtype: object这应该比先填充然后填充的效率更高。
并使用它来更改
cs_name列:
df['cs_name'] = g['cs_name'].transform(lambda s: s.loc[s.first_valid_index()])
注意:我认为拥有一种方法来捕获熊猫中的第一个非空对象是一个很好的增强,在numpy中这是一个开放请求,我不认为当前有一种方法(我可能错了!)。
..



