Seleccione la columna de las filas de DataFrame usando una lista de etiquetas de columna

Steven C. Howell

Tengo una lista de valores con el índice de columna que quiero para cada fila de un DataFrame de pandas. ¿Cómo asigno esta lista de etiquetas de columna a cada fila del DataFrame?

Si simplemente indexo el DataFrame usando la lista, la lista completa se aplica a cada fila, así.

In [10]: df = pd.DataFrame(np.random.randn(5,2), columns=list('AB'))

In [11]: df
Out[11]: 
          A         B
0 -0.082240 -2.182937
1  0.380396  0.084844
2  0.432390  1.519970
3 -0.493662  0.600178
4  0.274230  0.132885

In[12]: selection = list('ABBAA')

In[13]: selection
Out[13]: ['A', 'B', 'B', 'A', 'A']

In[14]: df[selection]
Out[14]:
          A         B         B         A         A
0 -0.082240 -2.182937 -2.182937 -0.082240 -0.082240
1  0.380396  0.084844  0.084844  0.380396  0.380396  
2  0.432390  1.519970  1.519970  0.432390  0.432390
3 -0.493662  0.600178  0.600178 -0.493662 -0.493662
4  0.274230  0.132885  0.132885  0.274230  0.274230

Cada elemento en la lista de selección indica la columna para seleccionar de la fila correspondiente en el DataFrame. En este ejemplo, quiero la columna Ade la primera fila, Bde la segunda y la tercera, luego Ade la cuarta y la quinta. Resulta que esta es la diagonal del resultado anterior. Mi DataFrame real es mucho más grande y no creo que tenga sentido construir el resultado anterior solo para seleccionar la diagonal.

Ciertamente puedo llegar a esto recorriendo las filas, pero espero que Pandas tenga una forma incorporada de hacer esto. Estoy buscando el método para obtener el siguiente resultado.

In[15]: df <do something> selection
Out[15]:
0 -0.082240
1  0.084844
2  1.519970
3 -0.493662
4  0.274230

Vaishali

Está cortando el marco de datos dos veces si primero selecciona columnas según la selección y luego obtiene los valores diagonales. En su lugar, puede usar la búsqueda que devuelve una matriz de los valores correspondientes a cada par (fila, columna).

df.lookup(df.index, selection)

array([-0.08224 ,  0.084844,  1.51997 , -0.493662,  0.27423 ])

Si desea los datos en forma de serie Pandas,

pd.Series(df.lookup(df.index, selection))

0   -0.082240
1    0.084844
2    1.519970
3   -0.493662
4    0.274230

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Seleccione TODAS las filas donde los valores de la columna Pandas DataFrame en una lista

mySQL: seleccione filas si la columna de texto contiene un elemento en una lista negra

Seleccione filas de un DataFrame en función de los valores de lista en una columna en pandas

Pyspark dataframe fusiona filas de una columna de lista

Agregar valor a la lista dentro de una columna manipula todas las filas en lugar de una

Seleccione una columna de una lista de matrices usando una lista de vectores

Seleccione una columna de una lista de matrices usando una lista de vectores

Actualizar la columna de todas las filas de una tabla

SQL Server: seleccione todas las filas de una columna después de la primera fila con el valor coincidente de la misma columna

seleccione filas de un DataFrame según el valor de la columna, limite a 16384 filas

¿Cómo eliminar todas las etiquetas <img> de la columna usando una consulta SQL?

Seleccione filas con etiquetas de cadena repetidas en una columna de un marco de datos en pandas

Leer de un .csv las primeras n filas y almacenar la columna en una lista

MySQL: seleccione las últimas filas de la columna LEFT JOIN en función de los campos

Struts2, convert s: seleccione la lista para mostrar la columna de etiquetas

Struts2, convert s: seleccione la lista para mostrar la columna de etiquetas

Struts2, convert s: seleccione la lista para mostrar la columna de etiquetas

Seleccione las filas donde el valor de la columna A comienza con el valor de la columna B

Seleccione una cadena parcial de una lista dentro de una columna en Pandas DataFrame

Seleccione una cadena parcial de una lista dentro de una columna en Pandas DataFrame

Seleccione solo las filas que tienen una columna cambiada de las filas anteriores, dada una ID única

Agregar las filas de una columna a otra columna por fila

Seleccione las primeras 10 filas por cada 5 de una columna única

agregar una columna con la media de filas sobre las columnas seleccionadas usando dplyr

Suma la columna solo de las filas que coinciden con una condición (de otra columna)

Copie las filas impares de una columna en la fila par de otra columna

seleccione las filas de una tabla de acuerdo con una identificación que está en un JSON en una columna de la tabla

¿Cómo puedo reemplazar las etiquetas de columna de un marco de datos con valores de una de sus filas?

¿Cómo puedo reemplazar las etiquetas de columna de un marco de datos con valores de una de sus filas?

TOP Lista

  1. 1

    ¿Cómo ocultar la aplicación web de los robots de búsqueda? (ASP.NET)

  2. 2

    Kibana 4 , making pie chart , error message

  3. 3

    Manera correcta de agregar referencias al proyecto C # de modo que sean compatibles con el control de versiones

  4. 4

    récupérer les noms de clés depuis Firebase react-native

  5. 5

    OAuth 2.0 utilizando Spring Security + WSO2 Identity Server

  6. 6

    Cómo eliminar o caducar las cookies en Chrome usando asp.net

  7. 7

    desbordamiento: oculto no funciona al hacer zoom en un iframe de YouTube usando transformar

  8. 8

    Cómo extraer una palabra clave (cadena) de una columna en pandas dataframe en python

  9. 9

    Link library in Visual Studio, why two different ways?

  10. 10

    선언되지 않은 유형 'MessagingDelegate'사용

  11. 11

    actualizar el contenido de la vista de reciclaje falla en la hoja inferior

  12. 12

    Ver todos los comentarios en un video de YouTube

  13. 13

    Problema con la vista de impresión de PDF

  14. 14

    ¿Cómo pintar el Dropline de un RowHeader-JTable en el Main-JTable durante un DragAndDrop?

  15. 15

    Pregunta de fórmula de desplazamiento y transposición de Excel / Google Sheets

  16. 16

    ¿Cómo puedo hacer accesible la información de color en tablas HTML?

  17. 17

    ¿Cómo generalizar el JSON en el procedimiento almacenado?

  18. 18

    Recortar fotos rectangulares de escaneos en OpenCV con Python

  19. 19

    2D 배열에 대한 Numpy 요소 별 평균 계산

  20. 20

    Typescript의 "window"전역 개체에 "adsbygoogle"애드 센스 속성을 추가하는 방법은 무엇입니까?

  21. 21

    Error: la ejecución falló para la tarea ': app: compileDebugJavaWithJavac'. java.io.FileNotFoundException:

CalienteEtiquetas

Archivo