PANDAS DUPLICATE FILA BASADO EN LA CONDICIÓN Y UNSTICA -- python campo con pandas campo con dataframe campo con duplicates campo con row camp Relacionados El problema

Pandas duplicate row based on condition and unstack


2
vote

problema

Español

Tengo un marco de datos de Panda de la siguiente forma:

    Name    Age    BMoney    BTime    BEffort    John    22       1         0        0   Pete    54       0         1        0   Lisa    26       0         1        1   

y me gustaría convertirlo a

    Name    Age    B    John    22     Money   Pete    54     Time   Lisa    26     Effort   Lisa    26     Time   

Es decir, en función de los valores en la columna "Bason", me gustaría crear una nueva columna "B" que contenga "Razón". Si por una persona múltiples razones existe (es decir: una fila contiene múltiples 1's), me gustaría crear filas separadas para esa persona en mi nuevo contexto de datos que muestran sus diferentes razones.

Original en ingles

I have a pandas data frame of the following form:

  Name    Age    BMoney    BTime    BEffort    John    22       1         0        0   Pete    54       0         1        0   Lisa    26       0         1        1 

And I would like to convert it to

  Name    Age    B    John    22     Money   Pete    54     Time   Lisa    26     Effort   Lisa    26     Time 

That is, based on the values in the "Breason" column I would like to create a new column "B" containing "reason". If for a person multiple reasons exists (i.e: a row contains multiple 1's) I would like to create seperate rows for that person in my new dataframe showcasing their different reasons.

              

Lista de respuestas

3
 
vote

con múltiples índice y pila ():

  # Create the dataframe df = [["John",    22,       1,         0,        0],       ["Pete",   54,       0,         1,        0],       ["Lisa",    26,       1,         1,        0]] df = pd.DataFrame(df, columns=["Name", "Age", "BMoney", "BTime", "BEffort"])  # Set Multi Indexing df.set_index(["Name", "Age"], inplace=True)   

ingrese la descripción de la imagen aquí

  # Use the fact that columns and Series can carry names and use stack to do the transformation df.columns.name = "B" df = df.stack() df.name = "value" df = df.reset_index()   

ingrese la descripción de la imagen aquí

  # Select only the "valid" rows, remove the last columns and remove first letter in B columns df = df[df.value == 1] df.drop("value", axis=1, inplace=True) df["B"] = df.B.apply(lambda x: x[1:])   

ingrese la descripción de la imagen aquí

 

With Multi Index and stack():

# Create the dataframe df = [["John",    22,       1,         0,        0],       ["Pete",   54,       0,         1,        0],       ["Lisa",    26,       1,         1,        0]] df = pd.DataFrame(df, columns=["Name", "Age", "BMoney", "BTime", "BEffort"])  # Set Multi Indexing df.set_index(["Name", "Age"], inplace=True) 

enter image description here

# Use the fact that columns and Series can carry names and use stack to do the transformation df.columns.name = "B" df = df.stack() df.name = "value" df = df.reset_index() 

enter image description here

# Select only the "valid" rows, remove the last columns and remove first letter in B columns df = df[df.value == 1] df.drop("value", axis=1, inplace=True) df["B"] = df.B.apply(lambda x: x[1:]) 

enter image description here

 
 

Relacionados problema

2  Normalizar los datos con su fila media en r  ( Normalize data with its row mean in r ) 
Me estoy convirtiendo en alguna dificultad después de intentar dividir cada elemento en una fila dada por la media de la fila. Un conjunto ficticio de datos: ...

7  C # Silverlight DataGrid - Cambio de color de fila  ( C sharp silverlight datagrid row color change ) 
¿Cómo cambias el color de las filas de Silverlight DataGrid?! He intentado esto, pero no parece funcionar cómo lo quiero ... Las filas aleatorias se colorea...

2  Diseño XML de Android: dos columnas con filas y una fila inferior  ( Android xml layout two columns with rows and one bottom row ) 
Estoy tratando de crear un diseño de dos columnas con filas y una fila en la parte inferior. Hasta ahora, he logrado dos columnas con filas en ellos, pero par...

426  ¿Cómo agrego índices a las mesas MySQL?  ( How do i add indices to mysql tables ) 
Tengo una tabla MySQL muy grande con aproximadamente 150,000 filas de datos. Actualmente, cuando intento ejecutar SELECT * FROM table WHERE id = '1'; E...

0  Delphi: Pintura Filas de ListView  ( Delphi paint rows of listview ) 
Tengo una lista de lista (vsreport): el último subitem tiene un texto "espera". Luego lo cambiaré a "OK" o "ERROR". Cómo pintar una fila completa (si usa send...

3  Pase de acceso a MS a través de dependientes del valor del formulario  ( Ms access pass through dependent on form value ) 
¿Cómo asigno una consulta de pase a través de la fuente de fila que depende de otro valor en el formulario? esencialmente quiero hacer esto: SELECT x.com...

0  ¿Detener la imagen en expansión en la fila de la tabla de múltiples?  ( Stop image expanding in multiline table row ) 
Estoy teniendo problemas para implementar una fila de tabla que permite que el texto se envuelva en múltiples líneas, y también tiene una imagen a la izquierd...

2  Orden de columna de tabla de jquery ui-sortable  ( Jquery ui sortable table column order ) 
Quiero cambiar el orden de la columna en la tabla. Intento usar jquery ui-sortable. Cuando termino un prototipo en html quiero utilizarlo en Asp.Net GridView....

0  Problemas con una ecuación en java  ( Trouble with a equation in java ) 
Actualmente estoy trabajando en un juego de 15 rompecabezas para Android para la escuela. Lamentablemente he corrido un problema. Necesito reescribir esta e...

19  Añadir una fila a una matriz  ( Add a row to a matrix ) 
Tengo una matriz A como 1 2 3 4 5 6 7 8 9 0 y quiero expandirlo con una fila de unos para obtener 1 1 1 1 1 1 2 3 4 5 6 7 8 9 0 creo la fila ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos