Cómo eliminar filas del dataframe de Pandas que contiene cualquier cadena en una columna particular

Tengo datos CSV en el siguiente formato:

+-------------+-------------+-------+ | Location | Num of Reps | Sales | +-------------+-------------+-------+ | 75894 | 3 | 12 | | Burkbank | 2 | 19 | | 75286 | 7 | 24 | | Carson City | 4 | 13 | | 27659 | 3 | 17 | +-------------+-------------+-------+ 

La columna Location es del tipo de datos del object . Lo que me gustaría hacer es eliminar todas las filas que tienen tags de ubicación no numéricas. Así que mi salida deseada, dada la tabla anterior sería:

 +----------+-------------+-------+ | Location | Num of Reps | Sales | +----------+-------------+-------+ | 75894 | 3 | 12 | | 75286 | 7 | 24 | | 27659 | 3 | 17 | +----------+-------------+-------+ 

Ahora, podría codificar la solución de la siguiente manera:

 list1 = ['Carson City ', 'Burbank']; df = df[~df['Location'].isin(['list1'])] 

Que se inspiró en el siguiente post:

¿Cómo eliminar filas del dataframe de pandas que contiene una cadena en particular en una columna en particular?

Sin embargo, lo que busco es una solución general que funcione para cualquier tabla del tipo descrito anteriormente.

O podrias hacer

 df[df['Location'].str.isnumeric()] 

   Ubicación número de ventas de representantes
 0 75894 3 12
 2 75286 7 24
 4 27659 3 17

Puede usar pd.to_numeric para forzar valores no numéricos a nan y luego filtrar en función de si la Ubicación es nan :

 df[pd.to_numeric(df.Location, errors='coerce').notnull()] #Location Num of Reps Sales #0 75894 3 12 #2 75286 7 24 #4 27659 3 17 
 In [139]: df[~df.Location.str.contains('\D')] Out[139]: Location Num of Reps Sales 0 75894 3 12 2 75286 7 24 4 27659 3 17 
 df[df['Location'].str.isdigit()] Location Num of Reps Sales 0 75894 3 12 2 75286 7 24 4 27659 3 17