varias una seleccionar filas fila eliminar como columnas columna python pandas

python - una - Eliminar columnas no numéricas de un DataFrame de pandas



seleccionar columnas pandas python (3)

En mi aplicación, cargo archivos de texto que están estructurados de la siguiente manera:

  • Primera columna no numérica (ID)
  • Una cantidad de columnas no numéricas (cadenas)
  • Una cantidad de columnas numéricas (flotantes)

El número de columnas no numéricas es variable. Actualmente cargo los datos en un DataFrame como este:

source = pandas.read_table(inputfile, index_col=0)

Me gustaría eliminar todas las columnas no numéricas de una sola vez, sin saber sus nombres o índices, ya que esto podría ser factible leyendo su tipo. ¿Es esto posible con los pandas o tengo que cocinar algo solo?


Es un método privado, pero hará el truco: source._get_numeric_data ()

In [2]: import pandas as pd In [3]: source = pd.DataFrame({''A'': [''foo'', ''bar''], ''B'': [1, 2], ''C'': [(1,2), (3,4)]}) In [4]: source Out[4]: A B C 0 foo 1 (1, 2) 1 bar 2 (3, 4) In [5]: source._get_numeric_data() Out[5]: B 0 1 1 2


Para evitar el uso de un método privado, también puede usar select_dtypes , donde puede incluir o excluir los dtypes que desee.

Corrió hacia él en esta publicación en exactamente lo mismo.

O en tu caso, específicamente:
source.select_dtypes([''number'']) or source.select_dtypes([np.number]


También tengo otra solución posible para eliminar las columnas con valor categórico con 2 líneas de código, definir una lista con columnas de valores categóricos (1ª línea) y soltarlas con la segunda línea. df es nuestro marco de datos

df antes de soltar:

list=pd.DataFrame(df.categorical).columns df= df.drop(list,axis=1)

df después de dejar caer: