Для следующего примера кадра данных (я добавил группу memberID
, которая содержит только ''
в столбце shipping_country
):
memberID shipping_country
0 264991
1 264991 Canada
2 100 USA
3 5000
4 5000 UK
5 54
Это должно работать для вас, а также как поведениечто если группа memberID
имеет только пустые строковые значения (''
) в shipping_country
, они будут сохранены в выходных данных df
:
df['shipping_country'] = df.replace('',np.nan).groupby('memberID')['shipping_country'].transform('first').fillna('')
Выход:
memberID shipping_country
0 264991 Canada
1 264991 Canada
2 100 USA
3 5000 UK
4 5000 UK
5 54
Если вы хотите оставить пустые строки ''
как NaN
в выводе df
, просто удалите fillna('')
, оставив:
df['shipping_country'] = df.replace('',np.nan).groupby('memberID')['shipping_country'].transform('first')