À esquerda, justificar valores de sequência em um DataFrame do pandas

Portanto, eu tenho um DataFrame com mais de 180000 valores e preciso (1) substituir valores duplicados e determinados nas células por linha e (2) reorganizar. Aqui está o meu DataFrame, df:

    key   sellyr  brand  makrc  item1  item2  item3  item4  item5  item6
0   da12  2013    imp    apt    furi   apt    nan    nan    nan    nan
1   da32  2013    sa     rye    rye    app    nan    nan    nan    nan 
2   da14  2013    sa     pro    not    pro    pan    fan    nan    nan
........

valores nan representam np.nan. E a string proibida é 'não'.

Então, o que eu preciso fazer é verificar as colunas item1 ~ 6, substituindo as strings que estão contidas na coluna makrc por nan. Também quero substituir 'not's' por nan's. Depois de substituir as cadeias de caracteres para np.nan, preciso reorganizar o item1 ~ 6 para justificar à esquerda os dados não nan para a célula vazia mais à esquerda, conforme mostrado abaixo (saída esperada):

    key   sellyr  brand  makrc  item1  item2  item3  item4  item5  item6
0   da12  2013    imp    apt    furi   nan    nan    nan    nan    nan
1   da32  2013    sa     rye    app    nan    nan    nan    nan    nan 
2   da14  2013    sa     pro    pan    fan    nan    nan    nan    nan
........

Então, como você pode ver em um primeiro índice, removi a string apt no item2 e mudei para np.nan porque a mesma string está na coluna makrc. No índice 1, removi o centeio e substitui-o por np.nan. Mas desta vez, reorganizei a sequência 'app' do item2 para o item1 porque os valores np.nan devem vir após os valores. No índice 2, substituí pro e não, pois preciso substituir todos os itens das colunas do item para np.nan. Também reorganizei os itens.

Tentei combinar todas as colunas de itens como uma lista e substituí-la, mas existem algumas linhas com apenas itens np.nan. Vocês podem recomendar um processo ideal para resolver meu problema? Muito obrigado.

questionAnswers(1)

yourAnswerToTheQuestion