2012-09-24 31 views
31

Tengo un marco de datos en pandas python con varias columnas tomadas de un archivo CSV.Sumar todas las columnas con una búsqueda de nombre de comodín con Python Pandas

Por ejemplo, = datos:

Day P1S1 P1S2 P1S3 P2S1 P2S2 P2S3 
1 1 2 2 3 1 2 
2 2 2 3 5 4 2 

Y lo que necesito es conseguir la suma de todas las columnas cuyo nombre comienza con P1 ... algo así como P1 * con un comodín.

Algo como lo siguiente, que da un error:

P1Sum = data["P1*"]

¿Hay alguna razón por la que hacer esto con los pandas?

+0

¿Hay alguna razón por la cual la gente rechazó esta pregunta? – catchmeifyoutry

+0

No lo estoy obteniendo. Quiero decir, puede ser algo realmente básico, pero busqué en la documentación de Pandas y no encontré ninguna respuesta. – jbssm

+1

http://pandas.pydata.org/pandas-docs/dev/generated/pandas.DataFrame.filter.html?highlight=filter#pandas.DataFrame.filter –

Respuesta

43

Encontré la respuesta.

Utilizando los datos de trama de datos a partir de la pregunta:

from pandas import * 

P1Channels = data.filter(regex="P1") 
P1Sum = P1Channels.sum(axis=1) 
0

Gracias por la jbssm punta, para cualquier otra persona en busca de una suma total, que terminó añadiendo .sum() al final, así que:

P1Sum= P1Channels.sum(axis=1).sum() 
Cuestiones relacionadas