Izquierda justificar valores de cadena en un marco de datos de pandas
Entonces, tengo un DataFrame con 180000+ valores y necesito (1) reemplazar duplicados y ciertos valores en celdas por fila y (2) reorganizar. Aquí está mi 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
........
los valores nan representan np.nan. Y la cadena prohibida es 'no'.
Entonces, lo que necesito hacer es verificar las columnas item1 ~ 6 reemplazar cadenas que están contenidas en la columna makrc con nan. Además, también quiero reemplazar 'not's' con nan's. Después de reemplazar las cadenas a np.nan, necesito reorganizar el elemento 1 ~ 6 a la izquierda para justificar los datos que no son nan a la celda vacía más a la izquierda, como se muestra a continuación, (salida 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
........
Entonces, como puede ver en un primer índice, eliminé la cadena apt en item2 y la cambié a np.nan porque la misma cadena está en la columna makrc. En el índice 1, eliminé centeno y lo reemplacé por np.nan. Pero esta vez, reorganicé la cadena 'app' de item2 a item1 porque los valores de np.nan deberían ir después de los valores. En el índice 2, he reemplazado pro y no desde que necesito reemplazar cada 'not'string en las columnas del elemento para np.nan. También he reorganizado los artículos.
Intenté combinar todas las columnas de elementos como una lista y reemplazarla, pero hay algunas filas con solo elementos np.nan. ¿Pueden recomendarme un proceso ideal para resolver mi problema? Muchas gracias.