В частности, я получил 3 столбца, в которых отсутствуют данные из левого соединения по 2 ключам.
Я хочу заполнить отсутствующие данные данными из того же столбца, но из строки с тем же идентификатором (это один из двух ключей) и только для столбца «Размер».
Дело в том, что я не могу использовать df['Size'] = df.groupby('Id')['Size'].ffill()
, так как хочу избежать использования размеров, содержащих «LAB» строка (без учета регистра), поэтому я могу использовать только те записи, которые Size = ['XL', 'L', 'M', 'MS', 'S', 'XS']
.
Не беспокойтесь о том, какой «Размер» является правильным. В кадре данных будет только не более 2 опций (это всегда будет только один действительный размер списка, который я упоминал ранее, а иногда и строка, которая в некоторых случаях содержит 'LAB')
Представьте себе фактический датафрейм выглядит примерно так:
Id | Place | ... | Size | Building | Wing |
-----------------------------------------------------------
... ... ... ... ... ...
64587 America ... LaB.PCD A North
64587 America ... XL C East
64587 Africa ... nan nan nan
64587 Africa ... nan nan nan
... ... ... ... ... ...
Таким образом, желаемый результат должен быть:
Id | Place | ... | Size | Building | Wing |
-----------------------------------------------------------
... ... ... ... ... ...
64587 America ... LaB.PCD A North
64587 America ... XL C East
64587 Africa ... XL nan nan
64587 Africa ... XL nan nan
... ... ... ... ... ...