how to exclude the non numerical integers from a data frame in Python
Question: I have a data frame which comprises of datatypes integer, string, numeric etc.
Something like below. I want to exclude all the variables which are non-
numeric. is there any automated way in Python?

    
    
    'data.frame':   891 obs. of  12 variables:
     $ PassengerId: int  1 2 3 4 5 6 7 8 9 10 ...
     $ Survived   : int  0 1 1 1 0 0 0 0 1 1 ...
     $ Pclass     : int  3 1 3 1 3 3 1 3 3 2 ...
     $ Name       : Factor w/ 891 levels "Abbing, Mr. Anthony",..: 109 191 358 277 16 559 520 629 417 581 ...
     $ Sex        : Factor w/ 2 levels "female","male": 2 1 1 1 2 2 2 2 1 1 ...
     $ Age        : num  22 38 26 35 35 NA 54 2 27 14 ...
     $ SibSp      : int  1 1 0 1 0 0 0 3 0 1 ...
     $ Parch      : int  0 0 0 0 0 0 0 1 2 0 ...
     $ Ticket     : Factor w/ 681 levels "110152","110413",..: 524 597 670 50 473 276 86 396 345 133 ...
     $ Fare       : num  7.25 71.28 7.92 53.1 8.05 ...
     $ Cabin      : Factor w/ 148 levels "","A10","A14",..: 1 83 1 57 1 1 131 1 1 1 ...
     $ Embarked   : Factor w/ 4 levels "","C","Q","S": 4 2 4 4 4 3 4 4 4 2 ...
    

After exclusion of numeric variables, my dataframe should look like the below:

    
    
    'data.frame':   891 obs. of  12 variables:
     $ PassengerId: int  1 2 3 4 5 6 7 8 9 10 ...
     $ Survived   : int  0 1 1 1 0 0 0 0 1 1 ...
     $ Pclass     : int  3 1 3 1 3 3 1 3 3 2 ...
     $ Age        : num  22 38 26 35 35 NA 54 2 27 14 ...
     $ SibSp      : int  1 1 0 1 0 0 0 3 0 1 ...
     $ Parch      : int  0 0 0 0 0 0 0 1 2 0 ...
     $ Fare       : num  7.25 71.28 7.92 53.1 8.05 ...
    


Answer: We could use `._get_numeric_data()`

    
    
    import pandas as pd #import the pandas library
    #creating a small dataset for testing
    df1 = pd.DataFrame({'PassengerId' :  [1, 2, 3], 
            'Name' : ['Abbing, Mr. Anthony', 'Ann, C', 'John, H'], 
            'Fare' : [7.25, 71.28, 7.92]})
    #extract only the numeric column types
    df2 = df1._get_numeric_data()
    print(df2)
    

Or another option is `select_dtypes()`

    
    
    df3 = df1.select_dtypes(include = ['int64', 'float64'])
    print(df3)
    

