tutorial seleccionar recorrer leer espaƱol datos data con columnas columna cargar agregar string pandas

string - seleccionar - recorrer data frame pandas



Acceso a columnas pandas con nombres de columnas que contienen espacios (2)

Si importo o creo una columna de pandas que no contiene espacios, puedo acceder a ella como tal:

df1 = DataFrame({''key'': [''b'', ''b'', ''a'', ''c'', ''a'', ''a'', ''b''], ''data1'': range(7)}) df1.data1

que me devolvería esa serie. Sin embargo, si esa columna tiene un espacio en su nombre, no se puede acceder a través de ese método:

df2 = DataFrame({''key'': [''a'',''b'',''d''], ''data 2'': range(3)}) df2.data 2 # <--- not the droid i''m looking for.

Sé que puedo acceder usando .xs ():

df2.xs(''data 2'', axis=1)

Tiene que haber otra forma. Lo busqué en Google como loco y no puedo pensar en otra forma de googlearlo. He leído las 96 entradas aquí en SO que contienen "columna" y "cadena" y "pandas" y no pude encontrar respuesta previa. ¿Es esta la única manera, o hay algo mejor?

¡Gracias!


Creo que la forma predeterminada es usar:

df1 = pandas.DataFrame({''key'': [''b'', ''b'', ''a'', ''c'', ''a'', ''a'', ''b''], ''dat a1'': range(7)}) df1[''dat a1'']

Los otros métodos, como exponerlo como un atributo, son más por conveniencia.


Publicación anterior, pero puede ser interesante: una idea (que es destructiva pero hace el trabajo si la quieres rápida y sucia) es cambiar el nombre de las columnas con guiones bajos:

df1.columns = [c.replace('' '', ''_'') for c in df1.columns]